Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

@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