SUP, ребята.
Учим скалу с весны. Искал много и не мог найти ничего, что действительно помогло. Я разрабатывал на 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, чтобы отправить их клиенту?