Tworzenie nowego zasobu za pomocą metody POST.
Na początku w kontrolerze stosujemy metodę POST. Dodajemy też adnotację „@RequestBody” w celu pobrania argumentu klasy „Topic” z żądania HTTP.
@RequestMapping(method = RequestMethod.POST, value = "/topics")
public void addTopic(@RequestBody Topic topic) {
topicService.addTopic(topic);
}
Trzeba jeszcze dodać nową metodę w klasie serwisowej:
public void addTopic(Topic topic) {
topics.add(topic);
}
I możemy za pomocą programu Postman testować wywołania HTTP.
Ustawiamy metodę POST przy adresie. W ciele wstawiamy surowy JSON. W nagłówkach -> w Content-Type zaznaczamy application/json.
Zanim jeszcze jednak wywołamy żądanie musimy dokonać małej zmiany w postaci listy, która jest w klasie serwisowej, gdyż w obecnej postaci nie jest ona zmienna. I tak:
private List<Topic> topics = new ArrayList<>(
Arrays.asList(new Topic("spring", "spring framework", "spring framework description"),
new Topic("java", "java framework", "java framework description"),
new Topic("javascript", "javascript framework", "javascript framework description")));
Po zapisaniu zmian możemy wysłać żądanie w Postmanie.
