PUT

Minseo Kang·2023년 2월 8일
1

Spring Boot

목록 보기
7/27
post-thumbnail

01. PUT 메소드 개념


  • PUT 메소드

    • 의미 : 리소스 갱신, 생성

    • CRUD : C / U

    • 멱등성 : O

    • 안정성 : X

    • Path Variable : O

    • Query Parameter : O

    • Data Body : O

    • PUT은 POST와 큰 차이 없음




02. POST 메소드 작성


패키지 생성과 클래스 생성

  • controller 패키지 생성

  • controller 패키지 내에 ApiController 클래스 작성

@RestController
@RequestMapping("/api")
public class PutApiController {  }

  1. @PutMapping("/주소")
  • dto 패키지 및 클래스 작성 및 사용
  • dto 내 작성한 클래스를 매개변수로 받기
@PutMapping("/put")
public PostRequestDto put(@RequestBody PostRequestDto requestDto) {
	System.out.println(requestDto);
	return requestDto;
}

  1. @PutMapping("/주소/PathVariable")
  • dto 패키지 및 클래스 작성 및 사용
  • dto 내 작성한 클래스를 매개변수로 받기
@PutMapping("/put/{userId}")
public PostRequestDto putPathVariable(@RequestBody PostRequestDto requestDto, @PathVariable(name = "userId") Long id) {
	System.out.println(id);
	return requestDto;
}


03. Snake case와 Camel case를 일치시키는 다른 방법


클래스 전체에 대해 같은 룰을 적용시킬 수 있음

@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 { }



04. 정리


@RestControllerRest API 설정
@RequestMapping리소스를 설정(method로 구분 가능)
@PutMappingPut Resource 설정
@RequestBodyRequest Body 부분 Parsing
@PathVariableURL Path Variable Parsing

0개의 댓글