Rest APi의 HTTP Method GET, POST, PUT, DELETE, PATCH 비교 -1

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

댓글

Designed by JB FACTORY