RESTful API

Young-mason·2020년 11월 29일
0

REST

  • REpresentational State Transfer
  • 웹 서비스를 만드는데 사용되는 제약(constraint) 모음
  • Roy T.Fielding
    // web을 망가뜨리지 않고, 어떻게 http를 개선할 수 있을까?

REST의 요소

  • Method

    POST: create // Idempotent(x)
    GET: Select // Idempotent(o)
    PUT: Update // Idempotent(o)
    DELETE: Delete // Idempotent(o)

    Idempotent: 여러 번 연산을 수행하여도 결과가 달라지지 않는 성질.
    POST는 상태를 변화시키기 때문에 Idempotent (x)

  • Resource

    	'http://myweb/users' 와 같은 URI

    모든 것을 Resource (명사)로 표현하고, 세부 Resource에는 id를 붙임

  • Message

    	메시지 포맷이 존재

    : JSON, XML 과 같은 형태가 있음 (최근에는 JSON을 씀)

         ```text
     HTTP POST, http://myweb/users/
     {
     	"users" : {
     		"name" : "terry"
     	}
     }
     ```
     

    REST 특징

  • Uniform Interface

    	: HTTP 표준만 맞는다면, 어떤 기술도 가능한 Interface 스타일

    예) REST API 정의를 HTTP + JSON로 하였다면 C, JAVA, Python, IOS 플랫폼 등 특정 언어 나 기술 등에 종속 받지 않고, 모든 플랫폼에 사용이 가능한 Loosely Coupling구조

profile
Frontend Developer

0개의 댓글