충분히 쌓여가는
@RestController, @PostMapping, @RequestBody, ResponseEntity.status() 본문
Spring/Spring Boot
@RestController, @PostMapping, @RequestBody, ResponseEntity.status()
빌드이너프 2023. 12. 21. 23:31@RequiredArgsConstructor
@RestController // Http Response Body에 객체 데이터를 JSON 형식으로 반환하는 컨트롤러
public class BlogApiController {
private final BlogService blogService;
@PostMapping("/api/articles")
public ResponseEntity<Article> addArticle(@RequestBody AddArticleRequest request) {
Article savedArticle = blogService.save(request);
return ResponseEntity.status(HttpStatus.CREATED).body(savedArticle);
}
}
@RestController
HTTP 응답으로 객체 데이터를 JSON 형식으로 반환
@PostMapping
HTTP 메서드가 POST일 때 요청받은 URL과 동일한 메서드와 매핑
위 코드에서 /api/articles는 addArticle() 메서드에 매핑
@RequestBody
HTTP를 요청할 때 해당하는 값을 @RequestBody 애너테이션이 붙은 대상 객체인 AddArticleRequest에 매핑
ResponseEntity.status()
응답코드
200 OK | 요청이 성공적으로 수행 |
201 Created | 요청이 성공적으로 수행되었고, 새로운 리소스가 생성 |
400 Bad Request | 요청 값이 잘못되어 요청에 실패 |
403 Forbidden | 권한이 없어 요청에 실패 |
404 Not Found | 요청 값으로 찾은 리소스가 없어 요청에 실패 |
500 Internal Server Error | 서버 상에 문제가 있어 요청에 실패 |
'Spring > Spring Boot' 카테고리의 다른 글
스프링 시큐리티 spring security (0) | 2023.12.22 |
---|---|
thymeleaf (0) | 2023.12.22 |
@RequiredArgsConstructor, @Service (0) | 2023.12.21 |
REST API (0) | 2023.12.21 |
@Entity, @NoArgsConstructor, @Id, @GeneratedValue (0) | 2023.12.21 |