друзья! Изучаю Spring, создал restful web-service на Spring и разбираю в данный момент приложение, но не пойму где находится: {"id":1,"content":"Hello, World!"} - JSON строка, где она находится в проекте? Объясните пожалуйста! Вот ссылка на проект: http://spring-projects.ru/guides/rest-service/#scratch .У меня точь-в-точь, всё работает, но не пойму где находится JSON строка, заранее спасибо!
Нигде она не находится, она создаётся Jackson-mapperом из экземляра Greeting, который вы возвращаете из контроллера.
Вот же код:
@RestController
public class GreetingController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@RequestMapping("/greeting")
public Greeting greeting(@RequestParam(value="name", required=false, defaultValue="World") String name) {
return new Greeting(counter.incrementAndGet(),
String.format(template, name));
}
}
Вы отправляете GET-запрос, который допускает один параметр - name
. Если этот параметр не передается, то по умолчанию он равен строке World
(в @RequestParam
всё это указано). counter
- просто переменная-счётчик. Соответственно, если вы при запуске отправляете пустой GET, то у вас вызовется конструктор new Greeting(1, "Hello, World!")
и контроллер вернет этот объект. Далее, чтобы преобразовать объект в тело ответа используется Json-mapper, по умолчанию в спринге это Jackson. Собственно, по вашей ссылке описано всё то, что я тут написал.
То есть для вас ваша Json строка как бы автоматически строится из экземляра Greeting
, но под капотом на самом деле работает другой класс, который как раз делает строку из экземляра. В случае передачи более сложных конструкций часто приходится писать свои реализации мапперов, или отдельные реализации сериализаторов для отдельных классов.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Изучаю spring, перевожу web приложение java на springПри загрузке выскакивает ошибка: One or more listeners failed to start
У меня єсть клас
мне интересно, как взять размер конкретной папки в amazonClient ? Я знаю, что все внутри Амазона - это обьектыНо ведь как-то же можно взять размер...
Не получается понять причину, почему не работает сетерВыставил значение в сетере - а результат инициализации всё равно 0