JSON в ответе

Привет, ребята. Изучение Scala с помощью Spring. Много искал и не нашел ничего, что действительно помогло. Раньше я разрабатывал 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, чтобы отправить их клиенту?

Вы, вероятно, забыли добавить Jackson или Gson к своим зависимостям. Вот что сериализует объекты в JSON. Не Scala. Что вы получаете при запросе /users?id=someUserId?

JB Nizet 27.10.2018 23:39

Пожалуйста, проверьте ответьте здесь о том, как кодировать классы случаев scala как JSON, это то, что вы ищете. Также Скала, @ResponseBody

prayagupd 27.10.2018 23:46
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
1
2
63
0

Другие вопросы по теме