[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-spring-chto-takoe-responseentity-i-kogda-ego-ispolzovat":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},644,"chto-takoe-responseentity-i-kogda-ego-ispolzovat",14,"spring","Spring","🌱","Что такое ResponseEntity и когда его использовать?","ResponseEntity -- класс-обёртка для полного контроля HTTP-ответа: статус-код, заголовки и тело.\n\n```java\n@RestController\n@RequestMapping(\"\u002Fapi\u002Fusers\")\npublic class UserController {\n\n    @GetMapping(\"\u002F{id}\")\n    public ResponseEntity\u003CUserDto> getUser(@PathVariable Long id) {\n        return userService.findById(id)\n                .map(ResponseEntity::ok)                    \u002F\u002F 200 OK\n                .orElse(ResponseEntity.notFound().build());  \u002F\u002F 404 Not Found\n    }\n\n    @PostMapping\n    public ResponseEntity\u003CUserDto> createUser(@Valid @RequestBody CreateUserRequest request) {\n        UserDto created = userService.create(request);\n        URI location = URI.create(\"\u002Fapi\u002Fusers\u002F\" + created.getId());\n        return ResponseEntity.created(location).body(created); \u002F\u002F 201 Created + Location\n    }\n\n    @DeleteMapping(\"\u002F{id}\")\n    public ResponseEntity\u003CVoid> deleteUser(@PathVariable Long id) {\n        userService.delete(id);\n        return ResponseEntity.noContent().build(); \u002F\u002F 204 No Content\n    }\n}\n```\n\n### Распространённые статус-коды\n\n```java\nResponseEntity.ok(body);                           \u002F\u002F 200\nResponseEntity.created(uri).body(body);             \u002F\u002F 201\nResponseEntity.noContent().build();                 \u002F\u002F 204\nResponseEntity.badRequest().body(errorDto);         \u002F\u002F 400\nResponseEntity.notFound().build();                  \u002F\u002F 404\nResponseEntity.status(HttpStatus.CONFLICT).body(e); \u002F\u002F 409\n```\n\n### Когда использовать\n\n- Когда нужен статус-код, отличный от 200\n- Когда нужно установить заголовки ответа\n- Для POST-запросов (201 Created + Location header)\n- Для условных ответов (200 или 404)\n\n> **На собеседовании:** покажите знание REST best practices (правильные HTTP-статусы для каждой операции). Частая ошибка -- возвращать 200 OK с сообщением об ошибке в теле.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":19,"keywords":20,"schemaAnswer":19,"featuredSnippetReady":21},"Что такое ResponseEntity и когда его использовать? — Gymterview","ResponseEntity -- класс-обёртка для полного контроля HTTP-ответа: статус-код, заголовки и тело.",[7,13],true]