Конечная точка REST Spring Boot не возвращает JSON - PullRequest
0 голосов
/ 12 июля 2019

У меня есть следующий код:

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" дает именно то, что я ожидаю, будучи напечатанным в приложении весенней загрузки, но я получаю ответ {}.

Если я изменяю возвращаемое значение только на «Hello», а тип на «String», тогда я получаю «Hello», возвращаемое, когда я скручиваюсь.

Мне не нравится, что я получаю пустой JSON в остальное время.Я использую spring-boot-starter-web:2.1.6-RELEASE, и все это заключено в аннотированный класс @RestController.

В консоли приложения Spring Boot нет ничего полезного.

Я застрял - все примеры, которые я видел, предполагают, что это должно "просто работать" - поэтому любая помощь очень ценится

1 Ответ

2 голосов
/ 18 июля 2019

Для поддержки сериализации Scala Case Classes попробуйте добавить jackson-module-scala в качестве вашей зависимости и зарегистрировать модуль Scala с помощью Jackson ObjectMapper, например,

val mapper = new ObjectMapper()
mapper.registerModule(DefaultScalaModule)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...