HTTP 웹 기본 지식 (API 설계)

한꼬북·2022년 3월 8일
0

HTTP

목록 보기
7/10
post-thumbnail

POST 기반 설계

회원관리 시스템 API

  • 회원 등록 POST /members
  • 회원 목록 GET /members
  • 회원 조회 GET /members/{id}
  • 회원 수정 PATCH, PUT, POST /members/{id}
    • 보통 PATCH를 사용하지만, 게시판의 게시글을 수정하는 경우 PUT을 사용해도 무방
  • 회원 삭제, 탈퇴 DELETE /members/{id}
  • 특징
    • 신규 resource를 등록 시 클라이언트는 등록될 resource의 URI를 모른다 알 수 없다.
    • 서버가 주도하여 URI를 만들고 관리하며 클라이언트는 요청만 할 뿐이다.
    • 서버가 관리하는 resource 디렉토리를 컬렉션(Collection)이라고 하며 여기서 컬렉션은 /members가 된다.

PUT 기반 설계

파일관리 시스템 API

  • 파일 등록 PUT /files/{filename}
  • 파일 목록 GET /files
  • 파일 조회 GET /files/{filename}
  • 파일 삭제 DELETE /files/{filename}
  • 파일 대량 등록 POST /files
  • 특징
    • 신규 resource 등록시 클라이언트가 request시 filename을 넣어서 보내기 때문에 클라이언트가 resource의 URI를 알고 있다.
      • ex) PUT /files/Strawberry.jpg
    • 클라이언트가 관리하는 resource 저장소를 스토어(Store)라고 하며 클라이언트가 resource의 URI를 알고 관리하는 것을 말한다 여기서 스토어는 /files가 된다.

HTML FORM 기반 설계

회원관리 시스템 API

  • 회원 등록폼 GET /members/new
  • 회원 등록 POST /members/new
  • 회원 목록 GET /members
  • 회원 조회 GET /members/{id}
  • 회원 수정폼 GET /members/{id}/edit
  • 회원 수정 POST /members/{id}/edit
  • 회원 삭제, 탈퇴 POST /members/{id}/delete
  • 특징
    • HTML FORM은 GET, POST method만 지원하기 때문에 제약이 있음, 하지만 Ajax를 사용해 해결 가능
    • 제약을 해결하기 위해 동사로 된 resource 경로를 사용(컨트롤 URI)하며 등록, 수정, 삭제의 /new, /edit, /delete가 컨트롤 URI다.
    • HTTP method로 해결하기 어려운 경우 사용한다.(HTTP API포함)
profile
오히려 좋아, 자 가보자고!

0개의 댓글