我有以下代码:
case class X(s: String)
@RequestMapping(path = Array("/tagReads"), produces = Array("application/json"))
def tagReads(@RequestParam(value = "tagId") tagId:String): X = {
val response = X("Hello")
println(response)
response
}
curl -H "Accept: application/json localhost:8080/tagReads?tagId="1234"
的结果与我期望在Spring Boot应用程序中打印出来的结果完全一样,但是我得到的响应是{}。
如果我将return更改为“ Hello”,并将类型更改为String,则在卷曲时会返回“ Hello”。
我不喜欢剩下的时间里得到空的JSON。我正在使用spring-boot-starter-web:2.1.6-RELEASE
,它们都包裹在一个@RestController
带注释的类中。
没有任何有用的日志记录到Spring Boot应用程序控制台。
我被困住了-我所看到的所有示例都表明这应该“行得通”-因此,非常感谢任何帮助
答案 0 :(得分:2)
为了支持Scala Case Classes序列化,请尝试添加jackson-module-scala作为依赖项,并在Jackson ObjectMapper
中注册Scala模块,例如
val mapper = new ObjectMapper()
mapper.registerModule(DefaultScalaModule)