====== REST API ====== * [[https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md|MS REST API Guidelines]] * [[https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md|Microsoft API Guidelines]] * [[https://slides.com/eungjun/rest#/|그런 REST API로 괜찮은가?]] [[https://www.youtube.com/watch?v=RP_f5dMoHFc|동영상]] * https://github.com/zalando/restful-api-guidelines ===== API Test ===== * [[rest_api:httpbin|httpbin]] : 서버를 제공해주고 있음. * [[rest_api:json_server|Json Server]] * [[rest_api:jsonplaceholder|JSONPlaceHolder]] * https://reqbin.com/ * https://docs.postman-echo.com/?version=latest * https://github.com/EsperoTech/yaade ===== 응답 코드 ===== * ''5xx'' : 서버에 네트워크 커넥션등 어떤 물리적인 문제가 생겼을 때. 이 경우 재시도하면 복구 가능성이 있을 때 ''5xx'' 오류를 주는게 나아보임. * ''4xx'' : 애플리케이션 로직의 오류 혹은 요청 자체에 문제가 있을 때. 즉, 코드를 잘못짰을 때. 이 경우 재시도 해도 결과가 동일하게 잘못되는 상황. 따라서 ''4xx'' 는 재시도 하지 말라는 명확한 신호. ===== 참조 ===== * [[https://www.javacodegeeks.com/2020/11/rest-sorting-collections.html?utm_medium=feed|REST: Sorting collections | Java Code Geeks - 2020]] * [[https://velog.io/@max9106/Spring-Boot-HATEOAS|[Spring Boot] HATEOAS]] * [[https://softwareengineering.stackexchange.com/questions/389621/how-to-implement-a-partial-resource-rest-api|design - How to implement a partial resource rest api? - Software Engineering Stack Exchange]] * [[https://stylishc.tistory.com/140|@JsonView와 @JsonFilter를 사용하여 Partial response 구현하기]] * [[https://bcho.tistory.com/914|조대협의 블로그 :: REST API 디자인 가이드]] * [[https://docs.microsoft.com/ko-kr/azure/architecture/best-practices/api-design|API 디자인 지침 - Best practices for cloud applications | Microsoft Docs]] * [[http://googlecode.blogspot.com/2010/03/making-apis-faster-introducing-partial.html|Making APIs Faster: Introducing Partial Response and Partial Update - The official Google Code blog]] * [[https://www.baeldung.com/spring-rest-json-patch|Using JSON Patch in Spring REST APIs | Baeldung]] * [[https://dev.to/andersonjoseph/what-they-want-is-what-they-get-the-partial-response-strategy-5a0m|What They Want, Is What They Get: The Partial Response Strategy - DEV]] * [[https://cloud.google.com/blog/products/api-management/restful-api-design-can-your-api-give-developers-just-information-they-need|RESTful API Design: can your API give developers just the information they need? | Google Cloud Blog]] * [[http://highscalability.squarespace.com/blog/2011/3/9/google-and-netflix-strategy-use-partial-responses-to-reduce.html|Google and Netflix Strategy: Use Partial Responses to Reduce Request Sizes - High Scalability -]] * [[https://jinson.tistory.com/190|지앤선의 책 사랑 :: [한글화 프로젝트] 1. Richardson 성숙도 모델(Richardson Maturity Model)]] * [[https://github.com/cryptlex/rest-api-response-format|cryptlex/rest-api-response-format: REST API response format using HTTP status codes]]