네트워크/HTTP

HTTP API 설계 예시

Gh1324 2022. 9. 25. 09:00
728x90

HTTP API는 예시를 POST기반PUT 기반으로 나누어 들수 있다.

POST 기반 API 설계 예시
회원 목록 /members  -> GET
회원 등록 /members  -> POST
회원 조회 /members/{id}  -> GET
회원 수정 /members/{id}  -> PATCH, PUT, POST
회원 삭제 /members/{id}  -> DELETE

여기서 URL(members)은 동사가 아닌 자원 그 자체로 설정해야 한다.

 

위 예씨를 보면 목록과 등록이 같은 URL인데 이것은 GET과 POST의 차이이다.

단순한 조회의 경우에는 GET을 사용하고

데이터를 등록하거나 수정하는 것 등의 경우에는 PATCH, PUT, POST를 적절히 사용하면 된다.

 

 

다음은 PUT 기반의 API 설계 예시이다.

파일 관리 시스템
파일 목록 /files -> GET
파일 조회 /files/{filename} -> GET
파일 등록 /files/{filename} -> PUT
파일 삭제 /files/{filename} -> DELETE
파일 대량 등록 /files -> POST

 

위의 POST 기반의 설계와 다른 점은 파일을 등록할 때 PUT을 사용한다는 것이다.

PUT의 경우에는 기존의 데이터를 날리고 대체하기 때문에 주의해서 사용해야 한다. 

 

PUT의 경우에 없으면 새로 만들고 있으면 기존파일 새로 덮어쓰기 때문에 파일 관리 시스템에 좋다

 

 

 

이렇게 이상적인 API 설계를 할 수 있다면 좋겠지만

HTML FORM는 GET, POST만 지원하기 때문에 이때 사용하는 URL형식을 컨트롤 URL이라고 한다.

 

HTML FORM은 다음포스팅에 업로드 하였다. 

728x90

'네트워크 > HTTP' 카테고리의 다른 글

HTTP 상태코드 400 VS 500  (0) 2022.09.28
HTTP 상태코드 : 300번대  (0) 2022.09.27
HTTP 상태코드 정리  (0) 2022.09.24
HTML Form  (0) 2022.09.23
HTTP 메서드  (0) 2022.09.20