728x90
728x90
※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다.
| API 개발 기본
1. 회원 등록 API
2. 회원 수정 API
3. 회원 조회 API
2. 회원 수정 API
@PostMapping("/api/v2/members/{id}") // PUT 전체 수정, PATCH or POST 부분 수정
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;
}
- 회원 수정도 DTO를 요청 파라미터에 매핑
@Transactional
public void update(Long id, String name) {
Member member = memberRepository.findOne(id); // id로 해당 멤버를 찾아오고(db에서 영속성 컨텍스트에 올려줌)
member.setName(name); // 변경 감지에 의해 update 됨
}
- 변경 감지를 사용해서 데이터를 수정
REST API
회원 수정 API updateMemberV2은 회원 정보를 부분 업데이트 -> PATCH 또는 POST
전체 업데이트 -> PUT
728x90
728x90
'프로그래밍 > spring boot' 카테고리의 다른 글
[스프링부트] 실전! 스프링 부트와 JPA 활용2 #2 API 개발 고급 - 준비 (0) | 2023.11.15 |
---|---|
[스프링부트] 실전! 스프링 부트와 JPA 활용2 #1 API 개발(3) 회원 조회 (2) | 2023.11.14 |
[스프링부트] 실전! 스프링 부트와 JPA 활용2 #1 API 개발 기본 feat. postman 설치 (1) (0) | 2023.11.14 |
[스프링부트] 실전! 스프링 부트와 JPA 활용2 #0 API 개발과 성능 최적화 (0) | 2023.11.14 |
[스프링부트] 실전! 스프링 부트와 JPA 활용1 #7 웹 계층 개발(5) (1) | 2023.11.13 |