2020.코딩일지
[HTTP/네트워크] REST API [BEB 6th] 본문
728x90
코드스테이츠 블록체인 부트캠프 6기
웹 어플리케이션에서는 HTTP메소드를 이용해 서버와 통신한다. (GET으로 요청하고 POST로 새로운글,데이터전송 DELETE로 삭제)
REST API란, 2개이상의 서비스가 인터넷을 통해 정보를 교환할때 사용하는 인터페이스.
요청과 응답을 할 때, '제대로 보내고 받을 수 있는' 일종의 규약.
데이터를 주고받기위한 규약. 약속된 HTTP프로토콜을 사용한다.
REST(Representational State Transfer)
로이필딩 박사학위 논문에서 웹(http)의 장점을 최대한 활용할 수 있는 아키텍쳐로 소개 되었다.
REST API는
웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP프로토콜을 통해 요청과 응답을 정의하는 방식을 말한다.
1단계) 개별 리소스와 통신 준수
- 같은 POST여도 적절한 엔드포인트를 각기 구별하자!
어떤 행위에 대한 단어 사용은 지양하고, 리소스에 집중해 명사 형태의 단어로 작성하는 것이 바람직하다. - 응답res할때, 성공/실패 여부를 반환하자
2단계) HTTP 메소드 원칙 준수 MDN HTTP request methods
- CRUD에 맞게 적절한 HTTP메소드를 사용하자.
조회 : GET(서버데이터변화시키지않는요청)
(GET메소드는 body를 가지지 않기 때문에, query parameter를 사용하여 필요한 리소스를 전달한다)
생성: POST 요청에 의한 응답반환이 어떻게 되는가?*도 중요 (멱등성이 있는)PUT과 구분해서 사용하기
응답반환: `201 Created` 이런거
3단계) 하이퍼미디어 컨트롤 적용HATEOAS(Hypertext As The Engine Of Application State)
- 2단계와 비슷하지만 응답에서 리소스의 URI를 포함한 링크요소를 삽입하여 작성.
응답 냐에 새로운 링크를 넣어 새로운 기능에 접근할 수 있도록 하는것! *중요포인트!
https://waytogo-anne.tistory.com/234
💃Achievemenrt Goals
🤸♀️Advanced Challenge
🏃♀️Futher Study
🤖검색키워드 (오끝에서 3번째 컬러)
'WebServer&DB&CTI' 카테고리의 다른 글
basic-server(2)express로 refactoring / nodemon을써보자 (0) | 2022.08.05 |
---|---|
basic-server(1) (0) | 2022.08.05 |
express 미들웨어 작동원리이해하기 (0) | 2022.08.05 |
[HTTP/네트워크] 브라우저의 작동원리(보이는곳:AJAX,SSR과CSR,CORS) [BEB 6th] (0) | 2022.07.29 |
[HTTP/네트워크] HTTP Messages,Requests,Responses [BEB 6th]018일차 (0) | 2022.07.29 |
Comments