티스토리 뷰
반응형
페이지에 설명된 소스코드는 링크에 있습니다.
update와 같은 경우에도 앞선 저장과 같이 별도의 DTO를 만들어서 해주는 것이 좋다.
@PutMapping("/api/v2/members/{id}")
public UpdateMemberResponse updateMemberV2(
@PathVariable("id") Long id,
@RequestBody @Valid UpdateMemberRequest request){
memberService.update(id, request.getName());
log.info("request name {}", request.getName());
Member member = memberService.findOne(id);
return new UpdateMemberResponse(member.getId(), member.getName());
}
update를 할때 반환값을 member로 하는 것보다
command와 query를 분리하여 역할을 분리하는 것이 유지 보수 입장에서 좋다.
만약 update에서 member를 반환할수도 있지만, command와 qeury 2개의 기능을 하게 된다.
UpdateMemberRequest
@Data
static class UpdateMemberRequest{
private String name;
}
UpdateMemberResponse
@Data
@AllArgsConstructor
static class UpdateMemberResponse{
private Long id;
private String name;
}
URL상에서 id를 통해서 저장된 회원을 조회하고,
member를 변경한 뒤에 UpdateMemberResponse를 통해 보여주고 싶은 자료를 보여주면 된다.
728x90
반응형
'Back End > JPA' 카테고리의 다른 글
[JPA 기초] 1. 영속성 컨텍스트 (0) | 2022.10.03 |
---|---|
[API] 5. 1:N 관계 조회 최적화 - 1 (0) | 2022.09.17 |
[API] 4. JPA 조회 성능 최적화(N+1문제와 fetch join) (0) | 2022.09.05 |
[API] 3. Spring Data JPA API - 조회 (0) | 2022.08.30 |
[API] 1. Spring Data JPA API - 저장 (0) | 2022.08.30 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- broker
- spring
- Linux
- caching
- feign client
- NextJS
- 리액트
- centos
- Firebase
- OS
- Container
- React
- backend
- zookeeper
- KAFKA
- rhel
- apache
- Producer
- API
- K8S
- apache kafka
- frontend
- consumer
- Java
- Front
- cs
- 프론트엔드
- JPA
- Data Engineering
- spring boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
250x250