ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [스프링부트/웹 애플리케이션 개발]회원 수정 API
    카테고리 없음 2023. 1. 11. 14:32

    회원 수정 API - MemberService

    @Service
    @Transactional(readOnly = true)
    @RequiredArgsConstructor
    public class MemberService {
    
        @Transactional
        public void update(Long id, String name) { // 커맨드/쿼리 분리 > 유지보수에 좋음
            Member member = memberRepository.findOne(id); //member > 영속상태
            member.setName(name); // 영속상태를 setName으로 이름을 바꿔줌
        }
    }

     

     

    회원 수정 API - MemberService

    @PutMapping("/api/v2/members/{id}")
    public UpdateMemberResponse updateMemberV2(@PathVariable("id") Long id, @RequestBody @Valid UpdateMemberRequest request) {
        memberService.update(id, request.getName());
        Member findMember = memberService.findOne(id);
        return new UpdateMemberResponse(findMember.getId(), findMember.getName());
    }
    
    @Data
    static class UpdateMemberRequest {
        private String name;
    }
    
    @Data
    @AllArgsConstructor
    static class UpdateMemberResponse {
        private Long id;
        private String name;
    }

    1) 포스트맨 - post 등록

     

    2) 포스트맨 - put으로 수정

     

    3) update 확인 

    728x90
Designed by Tistory.