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.