: Representational State Transfer의 약자로 웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식을 의미
0단계 - HTTP 사용
1단계 - 개발 리소스와의 통신 준수
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 여기까지만 좋은 API의 기준선
2단계 - HTTP 메소드 원칙 준수
3단계 - HATEOAS 원칙 준수
: HTTP를 사용해 요청하고 응답함
: 모든 자원은 각각의 리소스에 맞게 서버에 자원을 요청할 수 있는 url을 가져야하며, 응답으로 자원에 대한 정보를 내포해 전달되어야 함
POST /cook/fish/create/1
POST /cook/fish/Delete/1
POST /cook/fish/read
=> 해당 방식처럼 각각의 리소스에 대해 다르게 요청가능하지만 HTTP POST만 사용하는 상태
추가로, {데이터, {데이터에 대한 성공/실패 관련 정보(Ex. 물고기 완판)}} 같이 요청 리소스 사용에 대한 실패 성공 정보를 포함해야함
: 0~1단계의 성숙도를 만족하는 상태에서 CRUD에 적합한 HTTP 매소드를 사용할 수 있어야함
: 요청의 경우 2단계와 동일하지만 응답에 하이터 링크 요소들을 추가하여 다양한 액션이 이루어 질 수 있도록함
{데이터,
{데이터에 관한 실패/성공 관련 데이터},
{링크 :{{도매시장 사이트 연결 데이터}, {주문 취소 창 데이터}, {오시는 길 데이터}...}}
}
Open API
: 공공데이터에 쉽게 접근하게 해주는 API로 입력한 키워드와 관련한 API를 확인할 수 있게 해줌
API Key
: 클라이언트가 서버의 자원에 접근하기 위해 필요한 권한으로 권한이 필요로 하는 자원의 경우 요청과 함께 API Key를 포함해 전달해야함
GET
http://3.36.72.17:3000/JHJFE/messages?roomname=로비
roomname 값을 조회해 해당하는 정보만 조회
POST
필수 요소인 username, test, roomname을 포함한 데이터 추가
하단에 잘 추가된것을 확인
-api.openweathermap.org/data/2.5/weather?id=1850147&appid={API Key}