@nelle
В Spring есть несколько способов обработки JSON-тела запроса.
1 2 3 4 |
@PostMapping("/example") public ResponseEntity<SomeResponse> handleRequest(@RequestBody SomeRequest request) { // Обработка запроса } |
В этом примере SomeRequest
- это модель, которая представляет JSON-тело запроса. Spring автоматически будет десериализовывать JSON-тело в объект SomeRequest
.
1 2 3 4 5 6 7 8 9 |
@RestController public class ExampleController { @PostMapping("/example") public SomeResponse handleRequest(@RequestBody SomeRequest request) { // Обработка запроса return response; } } |
В этом случае Spring автоматически будет десериализовывать и сериализовывать объекты для вас.
1 2 3 4 |
@PostMapping(value = "/example", consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<SomeResponse> handleRequest(@RequestBody SomeRequest request) { // Обработка запроса } |
С помощью этого способа можно указать, что метод должен принимать только запросы с типом application/json
.
Обратите внимание, что для работы с JSON-телом требуется наличие в проекте соответствующих библиотек, например, jackson-databind
. Вы можете добавить её в зависимости Maven или Gradle.