Restful: API

이정수·2022년 8월 9일
0
post-custom-banner

{ Restful : API }

why?

아래 API의 의미는 무엇일까?

GET /sports/soccer
-> 스포츠 그룹안의 축구종목을 가져와라
DELETE /sports/soccer/players/11
-> 스포츠 그룹안의 축구 선수중 11번선수를 지워라

즉 REST API 메시지를 읽는것 만으로도 메세지가 의도하는 바를 명확하게 파악할 수 있다.

  • 기본적으로 HTTP를사용하여 요청 및 응답을 처리한다.
    http://jjang-sport.com/sports/soccer
    그래서 RESTful API를 사용할 때 별도의 인프라 구축이 필요없다.

  • 클라이언트가 요청하면 서버는 해당 리소스를 응답해주기만 하면 되기 때문에 클라이언트와 서버가 독립적으로 운영이 가능하다.

정의

REST란? REpresentational(표현) State(상태) Transter(전송)
분산시스템설계를 위한 아키텍쳐 스타일
쉽게 말하면 "사이트 구성 원리"이다.

Restful > Rest 한
Restful API > Rest한 API

구현방법

자원의 표현을 가지고 상태를 전달한다.

자원(Resource) : URI
/feed/subscriptions
동사가 들어가지 않고 반드시 명사들로만 구성되어야 한다.

표현(Representational) : Header
text/html, image/gif, text/*

상태(State) : Method

  • GET(조회)
    : URI형식으로 웹서버측 리소스(데이터)를 요청
    : 이때 요청받은 URI의 정보를 검색하여 응답한다.

  • HEAD(메세지 헤더( 내부 문서 정보) 취득)
    : GET방식과 유사,
    응답에 BODY가 없고, 응답 코드와 HEAD만 응답한다.
    웹서버 정보확인, 버전 확인, 최종수정일 등 조회시 사용

  • POST(생성, 내용전송, 파일전송가능)
    : 요청된 자원을 생성(create)한다.

  • PUT(수정, 내용갱신 위주, 파일전송가능)
    : 요청된 자원을 수정(update)한다.
    모든데이터를 수정할 때 사용한다.

  • PATCH
    : PUT과 유사하다.
    자원의 일부를 교체하기 위해 사용한다.

  • DELETE(삭제)
    : 요청된 자원을 삭제(delete)한다.

그외) CONNECT, OPTION, TRACE

profile
keep on pushing
post-custom-banner

0개의 댓글