REST API란?
Representatinal State Transfer의 약자
- 자원 (Resource) - URI
- /member/{id} - 여기서 member라는 리소스만 식별
- 행위(Verb) - Http Method
- /member/{id} - 어떻게 처리할지 정의
- 표현(Representations)
즉 , API란 URI에서 식별한 resource(member)를가지고 어떤행위(Http Method)를 할지 표현한 것
REST API 설계규칙
- 소문자사용(주소에서 대소문자 구분하므로 카벨케이스가 아닌 소문자사용 할 것)
- 언더바보다는 하이픈을 사용할것( _ x - 0)
- 슬래시는 계층구분용도기 때문에 마지막에는 사용하지않는다
- Http Method관련 용어는 포함하지않는다
- 동사보다는 명사를 사용해서 명명할것
- 파일 확장자는 URI에 포함하지말것(Accept Header를 사용할것)
각각 어떨때 사용할까?
- 조회 - GET, POST
- 입력 - POST(멱등x), PUT(멱등o)
- 수정 - PUT , PATCH
- 삭제 - DELETE
조회할때 GET, POST 차이점은?
- GET은 URL에 정보가 들어있으므로 POST가 조금 더 안전하다
입력할때 POST, PUT의 차이점은?
- POST - 멱등 x, 데이터가 계속 생성됨, return으로 201 created
- PUT - 멱등 o , 데이터가계속 생성되지 않음
- 멱등(Idempotent) 이란? - 여러번 수행해도 결과가 같음을 뜻한다 (호출로인해 데이터가 변형되지 않는 것)
수정할때 PUT, PATCH 차이점은?
- PUT - 요청시 전달받은 데이터만 수정하고 나머지는 default값으로 수정해버림
- PATCH - 요청시 전달받은 데이터만 수정하고 나머지 데이터는 유지
'JAVA' 카테고리의 다른 글
Java Mybatis insert 한번에 하기 ( feat. foreach ) (0) | 2022.05.12 |
---|