REST API

zioo·2022년 1월 2일
0

Backend

목록 보기
17/40

API

api는 간단하게

소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단입니다.

지정된 형식으로 요청하면 서버가 그 형식에 맞는 행동을 해준다는 걸 알기 때문에 개발자는 그 형식으로 코드를 작성하면 되기에 굉장히 개발 및 유지, 보수에 유리합니다.

REST API 설계시 가장 중요한 항목은 아래 두가지이다.

1️⃣ URI는 정보의 자원을 표현해야 한다는 점
2️⃣ 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다는 점

REST

Representational State Transfer” 의 약자

자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다.

다음과 같이 구성되어 있다.

  • 자원(Resource): URI
  • 행위(Verb): HTTP Method
  • 표현(Representations)

REST 구성

rest는 구성요소를 알면 이해가 쉽습니다.

1. 자원

  • 자원은 소프트웨어가 관리하는 것입니다. 만약 도서관을 위한 소프트웨어를 개발한다면 책입니다.
  • 구체적으로 소설책을 찾으면' book/novel/id'으로 나타낼 수 있습니다.
    이렇게 구조적으로 나타내는 것을 URI라고 합니다.

2. 행위

행위는 상태를 주고 받는 것입니다.(요청) HTTP 메서드 GET,POST,PUT,DELETE(GRUD)를 사용합니다.

METHOD와 역할

  • POST: POST를 통해 해당 URI를 요청하면 리소스를 생성합니다.
  • GET: GET를 통해 해당 리소스를 조회합니다. 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져온다.
  • PUT: PUT를 통해 해당 리소스를 수정합니다.
  • DELETE: DELETE를 통해 리소스를 삭제합니다.

3. 표현

  • 표현은 쉽게 말해 JSON, XML입니다. 정보를 표현하는 대표적인 방법입니다.

REST API

REST 기반으로 서비스 API를 구현한 것입니다.

REST는 HTTP를 기반하기 때문에 HTTP를 지원하는 프로그램 언어로 서버, 클라이언트를 구축하여 많이 사용하고 있습니다.

REST API 설계 규칙은 찾아보시면 자세히 나옵니다. 우리 블로그에는 똑같은 내용을 다루기 보다 제가 공부하면서 느낀 점을 적고 마무리 하겠습니다.

RESTful

restful은 rest api를 사용하는 웹서비스를 말한다고 합니다.

  1. restful한 REST API 설계 기본은 위에 있는 REST 구성요소를 지키는 것입니다. 리소스에 원형을 무너뜨리지 않는다는 것을 기억하면 많은 규칙들도 쉽게 이해할 수 있습니다.

  2. 클라이언트가 서버에 http 요청을 보낼때 여러 메소드를 사용합니다. 이 중에서 rest api에서는 crud를 많이 사용합니다.

모든 것은 그에 맞는 역할이 있듯이, 효율적인 rest를 위해서는 메서드를 목적에 따라 구분하는 것이 좋습니다

마무리

rest api 형식을 지켜서 작성하는 것은 개발자 간의 중요한 약속입니다. rest api은 성능 향상을 위해서 작성하는 것이 아니라 정보를 주고받기 위한 것입니다. 실제로 api 표준이 없다고 합니다.

그렇기 때문에 좋은 restful을 위해서는 소프트웨어의 특징, 개발자의 성향등 다양한 것을 고려해 설계되어야 할 것이다.

0개의 댓글