Spring Boot REST端点不返回JSON

时间:2019-07-11 22:26:27

标签: spring scala spring-boot

我有以下代码:

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应用程序控制台。

我被困住了-我所看到的所有示例都表明这应该“行得通”-因此,非常感谢任何帮助

1 个答案:

答案 0 :(得分:2)

为了支持Scala Case Classes序列化,请尝试添加jackson-module-scala作为依赖项,并在Jackson ObjectMapper中注册Scala模块,例如

val mapper = new ObjectMapper()
mapper.registerModule(DefaultScalaModule)