Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

ultra_dev

REST API 본문

Computer Science

REST API

ultra_dev 2023. 3. 27. 14:38

 

+프로젝트에 REST API를 사용한 이유

: 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론이 가능하기 때문에 사용(소통 및 협업 용이)

 

REST API 말고 다른 비교할만한 것

:GraphQL, 쿼리를 활용해서 한번의 요청으로 많은 데이터를 가져올 수 있는 방법.

  • 장점 : 필요한 최소 정보만 별도 요청이 가능하기에 효율적이고, 엄격하게 정의된 데이터 유형은 클라이언트와 서버 간의 통신 오류를 줄여줌
  • 단점 : 고정된 요청과 응답만 필요할 경우에는 Query 로 인해 요청의 크기가 RESTful API 의 경우보다 더 커짐.
    File 전송 등 Text만으로 하기 힘든 작업들을 처리하기 복잡

👓정리(X)

두서 없는 글

 

리소스를 프로그래밍 규약에 맞게 전달 하는것

URI 규약에 맞게 리소스를 정의하고 HTTP메소드에 맞게 가져오거나 바꾸거나 삭제하거나 http 메소드의 액션을취한다~

 

HTTP메소드를 사용하기 때문에 주로 무상태성 특징 지님, 한번 요청에 대해 기억하지 않음


한번 요청한 것에 대해 캐싱함. 

인터페이스가 플랫폼에 종속되는게 아니라 
예를 들어ㅡ API만들어 놓으면 한 클라이언트에서만 쓸 수 있는게 아니라 엔드포인트형식만
잘 갖춰지면 어디에서 요청하든 똑같은 응답 값을 받아볼 수 있음, 인터페이스일관성


SOAP는 POST만 사용
XML문서 전송 ... NOT JSON
문서에 맞는 응답값 받아서 하는 프로토콜~
엄격한 보안 규율은 장점. 결제같은 곳에서 사용. 대신 러닝커브 높겠지?
문서를 보내니 페이로드 크기가 커서 레스트API에 비해 응답과 요청 받는 과정 자체가
느리다~

 


REST API와 HTTP특징을 구분

REST API자체가 HTTP 사용해서 구현되는 것

REST API가 HTTP 속성을 가지고 있는 것이니 REST API만의 것을 구분 하자~ 


 

REST란?

 

: "REpresentational State Transfer" 의 약자로, 리소스에 명칭을 붙혀서 제이슨 등을 통해 상태를 전달

즉, 자원(resource)의 표현(representation)에 의한 상태 전달

 

  • 자원 : 해당 소프트웨어가 관리하는 모든 것 ( 문서, 그림, 데이터, 해당 소프트웨어 자체 등 )
  • 표현 : 그 자원을 표현하기 위한 이름 ( DB의 학생 정보가 자원이면, 'students'를 자원의 표현으로 정함 )
  • 상태 전달 : 데이터가 요청되는 시점에 자원의 상태를 전달한다. ( JSON 혹은 XML을 통해 데이터를 주고 받는 것이 일반적 )

-> 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이다.

REST의 개념

 

어떤 자원에 대해 CRUD(Create, Read, Update, Delete) 연산을 수행하기 위해 URI(Resource)로

GET, POST 등의 방식(Method)을 사용하여 요청을 보내며, 요청을 위한 자원은 특정한 형태(Representation of Resource)로 표현

 

참고) URI 와 URL의 차이점?


URL은 Uniform Resource Locator로 인터넷 상 자원의 위치를 의미
반면 URI는 Uniform Resource Identifier로 인터넷 상의 자원을 식별하기 위한 문자열의 구성으로,
URI는 URL을 포함, URI가 URL보다 포괄적인 범위라고 할 수 있다.

 

REST API의 특징

  • REST API의 가장 큰 특징은 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론이 가능한 것

REST API 디자인 가이드

 

REST API 설계 시 가장 중요한 항목은 다음의 2가지로 요약

  • 첫 번째, URI는 정보의 자원을 표현해야 한다.
  • 두 번째, 자원에 대한 행위는 HTTP Method(GET, POST, PUT, PATCH, DELETE)로 표현한다.
    • 행위(Method)는 URI에 포함하지 않는다.

REST API의 설계 규칙

 

1. URI는 명사를 사용한다.(리소스명은 동사가 아닌 명사를 사용해야 한다.)

1-1. 아래와 같은 동사를 사용하지 말 것

  • /getAllUsers
  • /getUserById
  • /createNewUser
  • /updateUser
  • /deleteUser

2. 슬래시( / )로 계층 관계를 표현한다.

 

3. URI 마지막 문자로 슬래시 ( / )를 포함하지 않는다.

 

4. 밑줄( _ )을 사용하지 않고, 하이픈( - )을 사용한다.

 

5. URI는 소문자로만 구성한다.

 

6. HTTP 응답 상태 코드 사용

- 클라이언트는 해당 요청에 대한 실패, 처리완료 또는 잘못된 요청 등에 대한 피드백을 받아야 한다.

'Computer Science' 카테고리의 다른 글

제네릭이란  (0) 2023.03.29
MSA(Micro Service Architecture)  (0) 2023.03.29
인덱스(INDEX)에 대해  (0) 2023.03.28
DI(Dependency Injection) 의존 관계 주입  (0) 2023.03.28
객체지향프로그래밍(Object-Oriented-Programming)  (0) 2023.03.27
Comments