25/04/28 (월)
주말이 순식간에 사라지고 다시 월요일이네요
그래도 어쩌겠어요 다시 열심히 해야죠
강의
REST API
- REpresentatinal State Transfer
- Client-Server : Client와 Server의 역할로 구분
- Stateless : 요청과 응답 이후 이전 요청 응답을 기억 X
- Cacheable : Server는 Cache 기능 가능
- Uniform Interface : Server쪽 자원 1개를 요청하는 방법은 1개만 존재
- Layered System : Server는 여러개의 Layer로 구성, Client는 Server쪽 자원에 대한 응답이 어떤 과정을 통해서 이루어지는 지 알지 못함
- Code one demand : (Optional) Server는 실행가능한 코드를 응답할 수 있음 (대부분 구현 X)
URI vs URL
- uri : Uniform Resource Identifier
- url(uri에 속함) : Uniform Resource Locator
Uniform Interface
- Interface Between Client And Server
- RESTful Design
- Use HTTP Methods
REST API With Web Service
- Json 형식으로 응답한다면 다양한 UI를 가진 Client에게 응답할 수 있다
Spring REST API
Builder와 필드
- @Builder를 쓰면 기본 생성자(파라미터 없는 생성자) 가 사라짐
- private final 필드가 없으면, 전체 필드를 다 받는 생성자만 생김
- 그런데 Spring이나 JPA는 객체 만들 때 기본 생성자가 필요
- 파라미터 없이 객체를 new 하고, setter로 값 채우는 방식
- 그래서 그냥 @Builder만 쓰면 -> 기본 생성자가 없어서 에러
- 이 문제를 해결하려면
- @NoArgsConstructor(기본 생성자 만들어줌)
- @AllArgsConstructor(모든 필드 받는 생성자도 만들어줌)
- 둘 다 추가
요약
- @Builder 쓰면 기본 생성자가 사라짐 (에러) -> @NoArgsConstructor랑 @AllArgsConstructor 사용 (해결)
마무리
- WorkShop
- 휴대폰 판매시스템에 REST API 적용
- 정리
'LG 유플러스 유레카 > REST API' 카테고리의 다른 글
[64일 차] REST API (ResponseEntity, Swagger) (0) | 2025.04.29 |
---|---|
[62일 차] REST API (HTML Register, JPQL DTO) (0) | 2025.04.25 |
[60일 차] REST API (HTML Login) (0) | 2025.04.23 |