首页 > 解决方案 > 响应中的 JSON

问题描述

伙计们。用 Spring 学习 Scala。搜索了很多,找不到任何真正有帮助的东西。我之前在 Node.js 上开发过,现在有点困惑。

我不明白我应该如何在响应中发送 JSON。我想要这样的东西(至少我会在 js 上做类似的事情):

@RestController
@RequestMapping(path = Array("/api"))
class Auth {
  @GetMapping(path = Array("/users"))
  def getString(@RequestParam(value = "id") id: String): User = {
    val user: User = Users.searchUser(id)
    user
  }
}

所以问题是:我不能发送 JSON。据我了解,我需要对其进行序列化,因为 Scala 不能自己做这样的事情。我找到了下一个响应类型:MediaType.APPLICATION_JSON_VALUE,例如

@PostMapping(path = Array("/users"), produces = Array(MediaType.APPLICATION_JSON_VALUE))

为了测试,我重写了类的 toString 函数,它包含有关用户的信息,因此它构建了类似 json 的字符串。它有效,但它不是解决方案,它很糟糕。如果我尝试使用 MediaType.APPLICATION_JSON(类型不匹配:预期 %any_scala_type%,实际:MediaType),也会出现错误。

我应该如何创建 JSON / 将对象序列化为 JSON 以将其发送给客户端?

标签: jsonspringscalarest

解决方案


推荐阅读