Smartsheet Java SDK - AssertionError: "Primary Column" has null Id
Smartsheet Java SDK - AssertionError: "Primary Column" has null Id
我在为 sheet 取回列 ID 时遇到问题。下面是我失败的单元测试。关于我做错了什么的想法? ID 似乎没有进入 Column 模型。
它失败了:java.lang.AssertionError: Column "Primary Column" has null Id.
@Test
public void getColumnInfo() {
try {
Token token = new Token();
token.setAccessToken(TEST_API_TOKEN);
Smartsheet conn = new SmartsheetBuilder().setAccessToken(token.getAccessToken()).build();
List<Column> columns = conn.sheets().columns().listColumns(TEST_SHEET_ID);
org.junit.Assert.assertTrue("Sheet has columns.", columns.size() > 0);
for (Column column : columns) {
String columnName = column.getTitle();
org.junit.Assert.assertNotNull("Column has null Title.", columnName);
org.junit.Assert.assertNotNull("Column \"" + columnName + "\" has null Index.", column.getIndex());
org.junit.Assert.assertNotNull("Column \"" + columnName + "\" has null Type.", column.getType());
org.junit.Assert.assertNotNull("Column \"" + columnName + "\" has null Id.", column.getId());
}
} catch (Exception ex) {
org.junit.Assert.assertNull("Exception calling API.", ex);
}
}
这是 Smartsheet Java SDK 的 v1.1.0。
这是由于使用了比 Smartsheet SDK 当前支持的更新版本的 Jackson (> 2.4.3)。
我们将很快发布新版本的 SDK,它将支持更新版本的 Jackson。
不适用于 Jackson > 2.4.3 的特定代码行是在 JacksonJsonSerializer.java 中找到的以下代码:
OBJECT_MAPPER.addMixInAnnotations(IdentifiableModel.class, IdFieldExclusionMixin.class);
需要更改为:
SimpleModule module = new SimpleModule("Module", Version.unknownVersion());
module.setMixInAnnotation(IdentifiableModel.class, IdFieldExclusionMixin.class);
OBJECT_MAPPER.registerModule(module);
我在为 sheet 取回列 ID 时遇到问题。下面是我失败的单元测试。关于我做错了什么的想法? ID 似乎没有进入 Column 模型。
它失败了:java.lang.AssertionError: Column "Primary Column" has null Id.
@Test
public void getColumnInfo() {
try {
Token token = new Token();
token.setAccessToken(TEST_API_TOKEN);
Smartsheet conn = new SmartsheetBuilder().setAccessToken(token.getAccessToken()).build();
List<Column> columns = conn.sheets().columns().listColumns(TEST_SHEET_ID);
org.junit.Assert.assertTrue("Sheet has columns.", columns.size() > 0);
for (Column column : columns) {
String columnName = column.getTitle();
org.junit.Assert.assertNotNull("Column has null Title.", columnName);
org.junit.Assert.assertNotNull("Column \"" + columnName + "\" has null Index.", column.getIndex());
org.junit.Assert.assertNotNull("Column \"" + columnName + "\" has null Type.", column.getType());
org.junit.Assert.assertNotNull("Column \"" + columnName + "\" has null Id.", column.getId());
}
} catch (Exception ex) {
org.junit.Assert.assertNull("Exception calling API.", ex);
}
}
这是 Smartsheet Java SDK 的 v1.1.0。
这是由于使用了比 Smartsheet SDK 当前支持的更新版本的 Jackson (> 2.4.3)。
我们将很快发布新版本的 SDK,它将支持更新版本的 Jackson。
不适用于 Jackson > 2.4.3 的特定代码行是在 JacksonJsonSerializer.java 中找到的以下代码:
OBJECT_MAPPER.addMixInAnnotations(IdentifiableModel.class, IdFieldExclusionMixin.class);
需要更改为:
SimpleModule module = new SimpleModule("Module", Version.unknownVersion());
module.setMixInAnnotation(IdentifiableModel.class, IdFieldExclusionMixin.class);
OBJECT_MAPPER.registerModule(module);