KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

@PostMapping

연결된 노트와 함께 읽기

@PostMapping

2026년 5월 17일
  • @PostMapping은 HTTP POST 요청을 특정 핸들러 메서드에 매핑하는 어노테이션(Annotation)이다.
  • @RequestMapping(method = RequestMethod.POST)의 축약형이다.
  • 주로 리소스 생성(Create) 요청에 사용한다.

HTTP 메서드 매핑 어노테이션 전체

어노테이션HTTP 메서드주요 용도
@GetMappingGET조회 (읽기)
@PostMappingPOST생성
@PutMappingPUT전체 수정
@PatchMappingPATCH부분 수정
@DeleteMappingDELETE삭제

기본 사용

Java

RequestBody와 함께 사용

Java

응답 상태 코드

  • 생성 성공 시 201 Created를 반환하는 것이 REST 관례.
  • @ResponseStatus(HttpStatus.CREATED) 또는 ResponseEntity.created(uri).body(data) 사용.
Java

관련

  • @RequestMapping
  • @GetMapping
  • @RequestBody
  • @ResponseBody
  • 컨트롤러(Controller)
  • HTTP
  • HTTP 상태 코드(HTTP Status)

Synapse Map Insight

@RestController @RequestMapping("/api/posts") @RequiredArgsConstructor public class PostController { private final PostUseCase postUseCase; // POST /api/posts @PostMapping @ResponseStatus(HttpStatus.CREATED) // 201 반환 public PostResponse create(@RequestBody @Valid CreatePostRequest request) { return postUseCase.create(request.toCommand()); } // POST /api/posts/{id}/publish @PostMapping("/{id}/publish") public PostResponse publish(@PathVariable String id) { return postUseCase.publish(id); } }
@PostMapping("/login") public ResponseEntity<LoginResponse> login(@RequestBody LoginRequest request) { LoginResponse response = authUseCase.login(request); return ResponseEntity.ok(response); }
@PostMapping public ResponseEntity<PostResponse> create(@RequestBody CreatePostRequest req) { PostResponse created = postUseCase.create(req.toCommand()); URI location = URI.create("/api/posts/" + created.getId()); return ResponseEntity.created(location).body(created); // 201 + Location 헤더 }