RestAPI

API: 프로그램 실행 인터페이스

  • 프로그램에 요청을 전달하기 위한 통로 혹은 방법

HTTP Method

  1. GET: 조회
  2. POST: 리소스 생성 (정보를 보내겠다)
  3. PUT: 리소스 전체 갱신
  4. DELETE: 리소스 삭제 (지정한 서버의 파일을 삭제)

설계 예시

  1. 전체 리소스 조회: GET /resources
  2. 특정 리소스 조회: GET /resource/:id
  3. 리소스 생성: POST /resources
  4. 리소스 전체 수정: PUT /resources/:id
  5. 특정 리소스 삭제: DELETE /resources/:id

리소스 디자인 가이드

  1. URI는 정보의 자원을 표현해야함. - 행위 표현 자제 ex) member/delete/1
  2. 자원에 대한 행위는 HTTP Method로 표현해야 함
  3. URI에는 복수 명사 사용
  4. 슬래시 구분자는 계층 관계를 나타내는 데 사용
  5. URI 마지막 문자로 슬래시 포함 X
  6. 하이픈은 URI 가독성을 높일 경우 사용
  7. 밑줄은 URI에 사용하지 않는다
  8. 대문자 사용 안함
  9. 파일 확장자를 URI에 포함시키면 안된다.
  • Collection과 Document: 자원 표현 방식
    • Document: 문서, 객체
    • Collection: 문서들의 집합, 객체들의 집합

    → 모두 리소스라고 표현 된다

    ex) sports/soccer: sports라는 컬렉션, soccer라는 도큐먼트
    

HTTP 응답 상태 코드

  1. 200: 클라이언트의 요청을 정상적으로 수행
  2. 201: 클라이언트가 어떠한 리소스 생성을 요청, 해당 리소스가 성공적으로 생성
  3. 400: 클라이언트의 요청이 부적절한 경우
  4. 401: 클라이언트가 인증되지 않은 상태에서 보호된 리소스를 요청했을 경우 사용
  5. 403: 유저의 인증상태와 관계 없이 응답하고 싶지 않은 리소스를 클라이언트가 요청했을 경우 사용
  6. 404: 사용자가 요청하는 페이지나 파일을 찾을 수 없을 경우 발생
  7. 405: 클라이언트가 요청한 리소스에서는 사용 불가능한 Method를 이용했을 경우
  8. 301: 클라이언트가 요청한 리소스에 대한 URI가 변경되었을 경우
  9. 505: 서버에 문제가 있을 경우 사용

homebdy
homebdy 개발에 이제 막 발 담근 사람. 개발에 이제 막 발 담근 사람. 개발에 이제 막 발 담근 사람. 개발에 이제 막 발 담근 사람.
comments powered by Disqus