ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Server] REST API, RESTful
    📌 Server 2022. 2. 14. 16:16

     

     

     

     

     

    REST API ?

     

     REST API  가 뭐에요?

     

    REST API란

    REST를 기반으로 만들어진 API를 의미합니다.

     


     

    그럼   REST  는 뭔가요?

    REST(Representational State Transfer)의 약자로 

    자원을 이름(자원의 표현)으로 구분하여

    해당 자원의 상태를 주고받는 모든 것을 의미합니다.

    즉, 자원(resource)의 표현(representation)에 의한 상태 전달을 의미합니다.

     


     

    • 자원 : 해당 소프트웨어가 관리하는 모든 것예) 문서, 그림, 데이터, 해당 소프트웨어 자체 등.
    • 상태 : 데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달. JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적.

     

    더 구체적이게 설명을 하자면,

     

    HTTP URL(Uniform Resource Identifier)을 통해 자원(Resource)을 명시하고,

    HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 *CRUD Operation을 적용하는 것을 의미합니다.

     

     

    [참고] HTTP METHOD의 알맞은 역할

    POST, GET, PUT, DELETE 이 4가지의 Method를 가지고 CRUD를 할 수 있습니다.

     💡 CRUD는?
    대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말입니다.

    CRUD Operation

    • Create : 생성(POST)
    • Read : 조회(GET)
    • Update : 수정(PUT)
    • Delete : 삭제(DELETE)
    • HEAD: header 정보 조회(HEAD)

     

    METHOD 역할

    메소드 역할
    POST ( Create ) POST를 통해 해당 URI를 요청하면 리소스를 생성합니다.
    GET ( Read ) GET를 통해 해당 리소스를 조회합니다. 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져옵니다.
    PUT ( Update ) 정보 업데이트, PUT를 통해 해당 리소스를 수정합니다. (데이터 전체를 바꿀 때)
    PATCH Update ) 정보 업데이트, PUT를 통해 해당 리소스를 수정합니다. (데이터 일부만 바꿀 때) 
    DELETE ( Delete ) DELETE를 통해 리소스를 삭제합니다.

    다음과 같은 식으로 URI는 자원을 표현하는 데에 집중하고 행위에 대한 정의는 HTTP METHOD를 통해 하는 것이 REST한 API를 설계하는 중심 규칙입니다.

     


    RESTful ?

     

     

    RESTful 은 또 뭐에요?


    RESTful이란 REST의 원리를 따르는 시스템을 의미합니다.


    ‘REST API’를 제공하는 웹 서비스를 ‘RESTful’하다고 할 수 있습니다.








    참고 자료: 

    https://hanamon.kr/rest-api/

    https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

    https://res.cloudinary.com/practicaldev/image/fetch/s--YTDTEgpk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ekawmj3rafdtn06hzj79.png

    https://www.redhat.com/ko/topics/api/what-is-a-rest-api

    https://dev-coco.tistory.com/97

     

     

    반응형

    댓글

Designed by Tistory & Awesome Soo © 2022 All rights reserved.