我有一个返回的案例类看起来像这样
case class Response(
@JsonDeserialize(contentAs = classOf[java.lang.Long])
longList: List[Long] = null)
我有一个客户 ObjectMapper,其中注册了 DefaultScalaModule。根据https://github.com/FasterXML/jackson-module-scala/wiki/FAQ https://github.com/FasterXML/jackson-module-scala/wiki/FAQ,添加 @JsonDeserialize 应该可以解决问题,但事实并非如此
这个问题是在我的测试中出现的,我收到以下错误消息
java.lang.ClassCastException:java.lang.Integer无法转换为java.lang.Long
在 scala.runtime.BoxesRunTime.unboxToLong(BoxesRunTime.java:105)
测试类,list.head 是触发错误的原因
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class ControllerTest {
@Autowired
var testRestTemplate: TestRestTemplate = _
@Autowired
var objectMapper: ObjectMapper = _
@Test
def test() : Unit = {
val response = testRestTemplate.exchange("url", HttpMethod.GET, classOf[Response])
val list = response.getBody.longList
val a = list.head
}
}
调试告诉我,我的列表实际上是包含整数的 $colon$colon 类型
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)