PUT 메소드
의미 : 리소스 갱신, 생성
CRUD : C / U
멱등성 : O
안정성 : X
Path Variable : O
Query Parameter : O
Data Body : O
PUT은 POST와 큰 차이 없음
패키지 생성과 클래스 생성
controller 패키지 생성
controller 패키지 내에 ApiController 클래스 작성
@RestController
@RequestMapping("/api")
public class PutApiController { }
@PutMapping("/put")
public PostRequestDto put(@RequestBody PostRequestDto requestDto) {
System.out.println(requestDto);
return requestDto;
}
@PutMapping("/put/{userId}")
public PostRequestDto putPathVariable(@RequestBody PostRequestDto requestDto, @PathVariable(name = "userId") Long id) {
System.out.println(id);
return requestDto;
}
클래스 전체에 대해 같은 룰을 적용시킬 수 있음
@JsonNaming(value = PropertyNamingStrategy.SnakeCaseStrategy.class)
클래스 위에 해당 annotation 선언 시 Object Mapper 모듈이 동작할 때 Snake case로 인식
@JsonProperty는 하나의 변수에 대해서만 적용
@JsonProperty("car_number")
private String carNumber;
@JsonNaming은 해당 클래스의 모든 변수에 대해 적용
@JsonNaming(value = PropertyNamingStrategy.SnakeCaseStrategy.class)
public class PostRequestDto { }
@RestController | Rest API 설정 |
@RequestMapping | 리소스를 설정(method로 구분 가능) |
@PutMapping | Put Resource 설정 |
@RequestBody | Request Body 부분 Parsing |
@PathVariable | URL Path Variable Parsing |