베이직 가이드라인

https://blog.restcase.com/5-basic-rest-api-design-guidelines/

5개의 구성 요소에 대해서 잘 작성을 하여야한다.

  1. Resources (URIs)
  2. HTTP methods
  3. HTTP headers
  4. Query parameters
  5. Status Codes

Resources (URIs)

동사 대신 명사를 사용한다.

URI의 이름은 CamelCase, snake_case, and spinal-case 형식 중 하나로 작성할 수 있지만 , 대부분의 거대 기업들이 spinal case를 사용하고 있어 이렇게 사용하는 것을 권장함.

spinal case란 띄어쓰기를 위해 하이픈을 넣는 방식이다(스네이크 케이스에서 _를 넣는 것관 다름)

<http://api.example.com/user-management/users>

HTTP methods

mdn 문서 참조. 특히 멱등성 부분, put과 patch의 자세한 차이점.

safe, unsafe 여부(내용 자체를 바꾸는지 바꾸지 않는지 등)을 알아보자.

put 메서드의 경우, 해당 자원에 대한 전체 필드를 다 알고 있다고 가정하기 때문에 절대로 이것을 patch 대체재로 사용하여서는 안된다. 그렇지 않을 경우 일부 필드가 비어버릴 수 있다. 따라서, 일부 내용만 변경하고 싶더라도 전체 필드를 다 써줘야한다.(안그러면 데이터 상실됨)