API 디자인 가이드 참고 문서

API를 디자인 할 때 참고할 내용들을 정리한다.

1. 그런 REST API 로 괜찮은가 - 네이버 엔지니어링 발표

https://tv.naver.com/v/2292653

- REST API 얘기가 나오면 빠지지 않는 내용 ( "아 그거 참고하시면 좋아요!" 라고 많이 추천해주신다)

2. 프론트엔드와 백엔드가 소통하는 엔드포인트, RESTful API - Evan Moon님(Toss)

https://evan-moon.github.io/2020/04/07/about-restful-api/

- REST가 왜 나왔는지, REST ful 한 API, 각 메소드의 멱등성에 대한 내용을 쉽고 친절하게 설명해준다.

- 그리고 아래는 개인적으로 공감했던 문구

필자는 개인적으로 가장 좋은 API는 기능이 많은 API도 아니고 공짜로 사용할 수 있는 API도 아닌, 어떠한 정보도 없는 누군가가 구구절절 다른 설명 없이 엔드포인트만 봐도 어떤 동작을 하는 API인지 바로 이해할 수 있을 정도로 명확한 API가 가장 좋은 API라고 생각한다.

물론 RESTful API와 같은 아키텍쳐 가이드라인을 학습하고 준수하는 것이 다소 번거로울 수는 있지만, 이런 표준이나 가이드라인이 가지는 의미가 전 세계의 수 많은 개발자들이 소통할 수 있는 획일화 된 교통 정리인 만큼 가이드라인을 준수하기 위한 개개인의 작은 노력이 모여서 거대한 웹 아키텍처를 유지할 수 있게 만드는 것은 아닐까.

이상으로 프론트엔드와 백엔드가 소통하는 엔드포인트, RESTful API 포스팅을 마친다.

3. HTTP 상태코드 - Evan Moon님(Toss)

표준 인터페이스의 존재 이유를 생각해보자

https://evan-moon.github.io/2020/03/15/about-http-status-code/

- 백엔드는 잘 모르는 프론트엔드의 슬픈 사정 🥲 HTTP 상태코드를 잘 설계해야 하는 이유에 대해 설명한다.

4. GitHub API 공식문서

https://docs.github.com/en/rest/overview/resources-in-the-rest-api

- 개발자들의 개발자인 github의 API, Client에러나 HTTP응답, paging 등등 참고할만한 내용이 많다.

- GitHub App-enabled endpoints - GitHub 에서 사용가능한 엔드포인트를 모아 놓았다. 명명규칙이 헷깔린다면 참고하면 좋을 것 같다.


그 외 참고할만한 HTTP, JSON-API 참고 문서

1. Heroku HTTP API 디자인 가이드

원어 - https://geemus.gitbooks.io/http-api-design/content/en/index.html

한글 - https://github.com/yoondo/http-api-design/tree/master/ko