일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Blazor
- 이벤트리스너
- slice
- 인프런무료강좌
- 코딩
- 비주얼스튜디오
- 자바스크립트recude
- 인프런인강
- 고차함수
- 인프런자바스크립트
- 자바스크립트틱택토
- 객체리터럴
- 틱택토구현
- sort
- 인프런
- 자바스크립트파라미터
- 자바스크립트함수
- 자바스크립트
- 제로초
- 인터넷프로토콜
- 객체의비교
- 콜백함수
- EntityFramework
- .NET
- 인프런강좌
- 인프런강의
- NPM
- HTTP
- c#
- 자바스크립트객체리터럴
- Today
- Total
샐님은 개발중
[섹션 6] RESTful API 설계 가이드 본문
성숙도 모델 (RMM)
- REST API 를 만들 때 주의사항, 고려사항, 어떤 단계로 하면 좋은지에 대해서 나눈 모델
LEVEL 0
- 기존의 데이터(리소스)를 웹서비스 형태로 제공하기 위해 단순히 URI 맵핑만 가지고 있는 형태
EX) http://server/getPosts 와 같이 주소 체계가 우리가 작성해 왔었던 http 개념 이 아닌 단순히 리소스가 어떠한 작업을 해야 되는지를 전부 주소 이름에 명시한 케이스
LEVEL1
- 우리가 웹으로 공개하고자 하는 리소스에 대해 좀 더 의미 있고 적절한 URI를 가지고 표현
EX) http://server/accounts
http://server/accounts/10
-일정한 패턴을 가지고 작성되어 있지만 http메소드별로 서비스를 구분해서 사용하고 있지는 않음.
-리소스의 형태 나 작업의 종류에 맞춰서 적절한 http 메소드를 지정하고 있지 않다는 얘기이며 실제로 많은 restful 서비스의 이와 유한 형태를 가지고 작업된 것을 볼수 있음.
- 사용자의 요청을 단순히 get/post와 같은 메소드로만 처리 / 모든 반환 코드를 200 ok 로 단순 반환하는 케이스.
LEVEL2
- LEVEL1 + HTTP Methods
LEVEL3
-LEVEL2 +HETEOAS
- 리소스를 적절한 상태로 표현할 수 있는 레벨2 단계와 더불어 다음 작업으로 어떤 것을 할 수 있는지 현재 작업에서 그 다움에 할 수 있는 행동들이 어떤 것이 있는지 또 그 작업을 위해 다뤄져야 하는 리소스의 URL이 어떤것이 있는지에 대해서 한꺼번에 알려줌.
고려사항
- 고객중심 개발
- HTTP 의 장점 활용
- REQUEST METHODS 별로 개발
- RESPONSE 상태 : 200,404,400,201,401
- 보안이필요한 정보는 URI에 표시 하면 안됨
- 복수형태를 사용 : PREFER/USERS/1TO /USERS/1
- 명사형 사용
- 일관된 엔드포인트 사용 : /search , PUT/gists/{id}/star
-- RESTful Api 웹 서비스 개발
: 화면단에 가지고 있지 않은 RESTFul Api 만을 서비스하는 형태 어플리케이션.
다양한 클라이언트 어플리케이션으로 확장 가능
'인프런 - Spring Boot 3.x 를 이용한 RESTful Web' 카테고리의 다른 글
[섹션5] Java Persistence API 사용 (0) | 2024.07.31 |
---|---|
[섹션4] Spring Boot API 사용 (0) | 2024.07.27 |
[섹션3] RESTful Service 기능 확장 (0) | 2024.07.27 |
[섹션1] Spring Boot로 개발하는 RESTful Service (1) | 2024.07.21 |
[섹션0] 1. Web Service & Web Application (0) | 2024.07.21 |