我有一个返回的案例类,看起来像这样
case class Response(
@JsonDeserialize(contentAs = classOf[java.lang.Long])
longList: List[Long] = null)
我有一个客户ObjectMapper,它注册了DefaultScalaModule。根据{{3}}的说法,添加@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类型