[8/5~6] 34, 35일차 회고록(HTTP / 네트워크 기초2)

원지렁·2022년 8월 5일
0
post-thumbnail

오늘의 학습 내용

1. REST API 란?

웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식

2. REST API 디자인(REST 성숙도 모델)

1) 0 단계

HTTP 프로토콜을 사용해야하며 REST API 작성의 기초단계임.

요청: POST/appointment

2) 1 단계

웹에서 사용되는 모든 데이터나 자원(Resource)에 대해 개별 리소스에 맞는 통신을 준수해야 함.

  • 요청 : 예약 시간 조회 / 특정 시간 예약 가능여부에 따른 요청 분리.
    -POST / doctors / 허준
    -POST / slots / 123

  • 엔드포인트는 리소스에 집중하여 '명사형' 으로 작성하는 것이 좋음.
    -(나쁜 예) POST / click
    -(좋은 예) POST / slots / 123
    : 예약 진행 후, 123번 자리 확보
    -(나쁜 예) GET / inquiry
    -(좋은 예) GET / doctors / kim
    : 주치의 'kim'에 대한 예약 현황

  • 응답 리소스를 전달시에도 리소스에 정보와 리소스 사용에 대한 성공/실패 여부를 반환해야 함

3) 2 단계

CRUD에 맞게 적절한 HTTP 메서드를 사용해야 함.

  • Create - POST 메소드 사용(요청할 때 마다 새로운 리소스 생성)

  • READ - GET 메소드와 query paramater를 이용하여 작성

  • Update - PUT(요청할 때 마다 같은 리소스 반환 - 멱등성) : 교체 / PATCH 메소드 : 수정

4) 3 단계

HATEOAS(Hypertext As The Engine Of Application State) 단계

  • 요청은 2단계와 동일하지만, 응답에는 리소스의 URI를 포함한 링크 요소를 삽입하여 작성해야 함.

  • 응답에는 응답 후, 다음 액션을 위한 하이퍼미디어 컨트롤을 포함함.
    예) 예약 시간 확인 후, response에 해당 예약 시간에 예약 기능 링크 삽입

3. Open API

Open API의 형태로 제공하는 공공데이터. Open API를 이용하기 위해서는 API Key가 필요함

4. HTTP 요약/정리

1) 요청(Request)

: HTTP 요청은 '메소드 + url'의 조합으로 이루어짐

  • 메소드와 CRUD
    GET - READ
    POST - CREATE
    PUT - UPDATE
    PATCH - UPDATE
    DELETE - DELETE
    OPTIONS

2) 응답(Response)

  • 상태 코드/메시지
    200번대 : 성공 메시지
    300번대 : 리디렉션
    400번대 : 실패(클라이언트 측)
    500번대 : 실패(서버 측)
profile
새싹 개발자 지렁이의 벨로그입니다.

0개의 댓글