본문 바로가기

카테고리 없음

[수정] 기능을 Rest API Style로 개발 (feat. PUT)

클라이언트에서 PostMan 등을 사용하여,

[수정]하고 싶은 엔티티의 [식별자]를 통해 해당 엔티티를 Rest API 방법으로 [수정]이 가능하다. 

PUT : 같은 것을 2번 이상 수정하도록 요청을 날려도, 더 이상 SQL문이 날라가지 않음. (=멱등하다)

https://jbluke.tistory.com/19(PUT Method에 대해서는 이 사이트를 참조)

 

12. HTTP METHOD - PUT, PATCH, DELETE

 

jbluke.tistory.com

여기서는 members/[3]의 [3]이 리소스의 위치가 된다.(PUT Method 에서는 클라이언트가 반드시 [식별자] 등의 리소스를 

특정하는 무언가가 있어야 한다.( 식별자가 아니더라도, 특정 URI도 괜찮음 )

 


 @PutMapping("/api/v2/members/{id}") // [회원 수정] Rest API
public UpdateMemberResponse updateMemberV2(@PathVariable("id") Long id, @RequestBody @Valid UpdateMemberRequest request){


     memberService.update(id,request.getName()); // [수정] 전략은 무조건 [dirty checking] 전략 사용
                                                // 매개변수 id는 [기존 식별자]이다.
                                                // 고로, 함부로 임의의 객체를 만들어서, 그 객체에 [기존 식별자]를 가지게 하여
                                                // [준영속] 엔티티로 만들어 버려서, [dirth checking] 사용이 불가능하도록 만들면 안된다.
     Member findMember = memberService.findOne(id);
     return new UpdateMemberResponse(findMember.getId(), findMember.getName());
 }

 

Rest API를 호출하여 [수정]이 완료됨.