일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 주문조회
- JPA
- DB
- 성능 최적화
- rest api
- DTO 조회
- 한방 쿼리
- MVC
- 서블릿
- hibernate5Module
- 지연로딩
- API
- 컬렉션 조회
- 정적 리소스
- NAMED 쿼리
- JPQL
- 스프링 데이터 JPA
- 벌크 연산
- 연관관계 매핑
- 엔티티 매핑
- 뷰 템플릿
- 페치 조인
- 서버인증
- dto
- querydsl
- batchsize
- HTTP API
- 엔티티 변환
- SpringEL
- 스프링
- Today
- Total
목록rest api (3)
UmaiCo - 우마이코
회원 조회 API 1. V1 회원 조회 API의 제일 단순한 코드이다 @GetMapping("/api/v1/members") public List membersV1(){ return memberService.findMembers(); } 무슨 문제가 있을까? 1) 문제점 엔티티가 외부에 직접 노출된다. 엔티티의 모든 값이 노출된다. 엔티티에서 특정 필드의 값을 숨기고 싶을때는 필드에 @JsonIgnore 어노테이션을 추가해야 한다. 위와 같은 응답 스펙을 맞추기 위한 로직이 추가된다. 프레젠테이션 로직이 엔티티에 추가된다. 실무에서는 같은 엔티티에 대해 API의 용도에 따라 수많은 API 스펙이 요구된다. 여러 스펙에 대한 API를 엔티티 하나에 담기는 매우 어렵다 엔티티가 변경되면 API스펙이 변한다...
회원 수정 API 회원 수정은 @PutMapping을 사용한다. 여기서 정리하자면 보통 get방식은 select post방식은 insert put방식은 update 을 사용한다. REST API에서는 put 보통 전체 업데이트를 할때 사용한다. 부분업데이트는 patch나 post를 사용하는 것이 REST API스타일에 맞다. @PutMapping("/api/v2/members/{id}") public UpdateMemberResponse updateMemberV2( @PathVariable("id") Long id, @RequestBody @Valid UpdateMemberRequest request) { memberService.update(id, request.getName()); Member fin..
최근에는 Controller에서 HTML 뷰를 렌더링하지 않고 JSON과 같은 데이터를 메시지 바디에 직접 넣어서 데이터를 반환하는데 이러한 방식을 API방식이라고 한다. 이때 Controller에 @Controller가 아닌 @RestController를 사용하여 Rest API라고도 한다. 1. 회원등록 API 회원등록 API를 만들어 보려고 한다. 1) V1 @PostMapping("/api/v1/members") public CreateMemberResponse saveMemberV1( @RequestBody @Valid Member member) { Long id = memberService.join(member); return new CreateMemberResponse(id); } @Data..