[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-spring-kak-rabotayut-annotatsii-mappinga-zaprosov-requestmapping-getmapping-postmapping":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},642,"kak-rabotayut-annotatsii-mappinga-zaprosov-requestmapping-getmapping-postmapping",14,"spring","Spring","🌱","Как работают аннотации маппинга запросов: @RequestMapping, @GetMapping, @PostMapping?","Эти аннотации связывают HTTP-запросы с методами контроллера. `@GetMapping`, `@PostMapping` и другие -- сокращения для `@RequestMapping` с конкретным HTTP-методом.\n\n```java\n@RestController\n@RequestMapping(\"\u002Fapi\u002Fv1\u002Fusers\") \u002F\u002F общий префикс\npublic class UserController {\n\n    @GetMapping                    \u002F\u002F GET \u002Fapi\u002Fv1\u002Fusers\n    public List\u003CUserDto> findAll() { }\n\n    @GetMapping(\"\u002F{id}\")           \u002F\u002F GET \u002Fapi\u002Fv1\u002Fusers\u002F123\n    public UserDto findById(@PathVariable Long id) { }\n\n    @PostMapping                   \u002F\u002F POST \u002Fapi\u002Fv1\u002Fusers\n    public UserDto create(@RequestBody CreateUserRequest request) { }\n\n    @PutMapping(\"\u002F{id}\")           \u002F\u002F PUT \u002Fapi\u002Fv1\u002Fusers\u002F123\n    public UserDto update(@PathVariable Long id, @RequestBody UpdateUserRequest request) { }\n\n    @DeleteMapping(\"\u002F{id}\")        \u002F\u002F DELETE \u002Fapi\u002Fv1\u002Fusers\u002F123\n    public void delete(@PathVariable Long id) { }\n}\n```\n\n### Расширенные параметры\n\n```java\n@GetMapping(value = \"\u002Fusers\", headers = \"X-API-VERSION=2\")    \u002F\u002F по заголовку\n@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE)  \u002F\u002F по Content-Type\n@GetMapping(produces = MediaType.APPLICATION_XML_VALUE)       \u002F\u002F по Accept\n```\n\n> **На собеседовании:** покажите знание shortcut-аннотаций и параметров маппинга. Частая ошибка -- маппинг нескольких методов на один URL + HTTP-метод (`IllegalStateException`).","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Как работают аннотации маппинга запросов: @RequestMapping, @ — Gymterview","Эти аннотации связывают HTTP-запросы с методами контроллера. `@GetMapping`, `@PostMapping` и другие -- сокращения для `@RequestMapping` с конкретным HTTP-методо","Эти аннотации связывают HTTP-запросы с методами контроллера. `@GetMapping`, `@PostMapping` и другие -- сокращения для `@",[7,13],"Эти аннотации связывают HTTP-запросы с методами контроллера. `@GetMapping`, `@PostMapping` и другие -- сокращения для `@RequestMapping` с конкретным HTTP-методом.",true]