비전공자가 보는 컴퓨터과학-2 (ft. Rest Api)

이종호·2022년 6월 11일
0

컴퓨터과학

목록 보기
2/3
post-thumbnail

Rest Api란?

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

API를 다룰때 투자하는 시간

  1. Editor와 Client
  2. API Reference (API의 호출,응답에 대한 형식 설명)

API 레퍼런스의 중요성

  • API 레퍼런스가 잘 만들어지지 않으면 다른 개발자가 활용하기 힘듦
  • 대기업의 경우 기술적인 문서작성을 전문적으로 하는 테크니컬 라이터를 따로 두기도 함
  • 대부분 개발자가 작성하고 테크니컬 라이터의 교정을 받음

REST API 디자인

리차드슨의 4단계 모델이 제일 많이 쓰임.

이처럼 0~3단계 까지 있지만 실제로 3단계까지 지키기 어렵기 때문에 2단계까지만 적용해도 좋은 디자인.

  • REST 성숙도 모델 -0단계
    단순 HTTP프로토콜을 사용하기만 해도 충족.

  • REST 성숙도 모델 -1단계
    개별 리소스(Resource)와의 통신 준수
    모든 자원은 개별 리소스에 맞는 엔드포인트를 사용해야하며 요청하고 받는 자원에 대한 정보를 응답으로 전달 해야 충족.

  • REST 성숙도 모델 -2단계
    CRUD에 맞게 적절한 메서드를 사용하는 것에 중점. 예로 조회는 GET메서드, 생성은 POST, 교체는 PUT, 수정은 PATCH메서드를 사용한다.

  • REST 성숙도 모델 -3단계
    HATEOAS(Hypertext As The Engine Of Application State)라는 하이퍼미디어 컨트롤을 적용. 요청은 2단계와 동일하지만, 응답에는 리소스의 URI를 포함한 링크 요소를 삽입.

오픈 API와 API Key

  • 오픈 API
    누구에게나 사용이 가능하도록 공개되어있지만, 정해진 이용수칙을 따르고 제한사항(가격,정보제한 등)이 있을수 있다.

  • API Key
    API를 사용하기 위한 Key. 서버를 운용하는데에 부담이 되므로 해당 키를 가진 이용자만 API데이터에 접근이 가능하도록 만든것.

REST API 구성요소

https://developers.google.com/books/docs/v1/using
책에 대한 검색결과를 알수있는 API가 예시로 사용.

https://www.googleapis.com/books/docs/v1/volumes?q=search+terms

  1. HTTP Hethod
    • GET : 데이터 조회
    • POST : 새로운 데이터 추가
    • PUT : 데이터 전체 수정
    • PATCH : 데이터 일부 수정
    • DELETE : 정보 삭제
  2. URL : 데이터 접근
  3. Representation : 자원의 표현

잘못설계된 API URL형식
https://yts.mx/api/v2/list_movies.json
왜냐하면, 자원표현을 위한 URL 설계 규칙에 잘 맞지않는다.
1. 소문자만 사용
2. 하이픈(-)은 사용하지 않고 밑줄(_)을 사용
3. 확장자를 표시하지 않음

REST API pharameter

잘못 설계된 yts의 api를 이용하여 첫번째 조건, 두번째 조건을 나타내보기

(파라미터로 최소평점 8.5, 연도별 정렬, 한개만 가져오는 조건 삽입)
첫번째 조건에는 ?를 넣고, 두번째 조건부터 &을 넣어준다.


참고 문헌/영상

profile
Frontend

0개의 댓글