ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring Boot] 2. REST API (스프링 부트를 배워보자.)
    Spring Boot 2023. 9. 15. 18:31
    728x90
    반응형

    안녕하세요 나홀로전세집입니다.

    오늘은 REST API를 배워보겠습니다.

    REST API는 REST와 API가 합쳐진 단어입니다.

    각각 단어들을 하나하나 쪼개서 설명해드리겠습니다.

     

    API란?

    API는 응용 프로그램에서 사용할 수 있도록 다른 응용 프로그램을 제어할 수 있게 만든 인터페이스입니다.

    API를 사용하면 내부 구현 로직을 알지 못해도 정의되어 있는 기능을 쉽게 사용할 수 있는 장점이 있습니다.

     

    REST란?

    REST는 자원의 이름으로 구분하여 해당 자원의 상태를 교환하는 것을 의미합니다.

    REST는 서버와 클라이언트의 통신 방식 중 하나입니다.

    HTTP URI를 통해 자원을 명시하고 HTTP Method를 통해 자원을 교환하는 것입니다.

    ※ HTTP Method : Create, Read, Update, Delete

     

    REST 특징

    1. Server-Client 구조
      1. 클라이언트와 서버가 독립적으로 분리되어 있어야 한다
      2. 자원이 있는 쪽이 Server, 요청하는 쪽이 Client이다
    2. Stateless
      1. 서버는 각각의 요청을 완전히 별개의 것으로 인식하고 처리한다
      2. 요청 간에 클라이언트 정보가 서버에 저장되지 않는다
    3. Cacheable
      1. 대량의 요청을 효율적으로 처리하기 위해 캐시를 사용한다
      2. HTTP 프로토콜을 그대로 사용하기 때문에 HTTP의 특징인 캐싱 기능을 적용한다
    4. 계층화 (Layered System)
      1. 서버는 다중 계층으로 구성될 수 있다 (로드밸런싱, 보안 요소, 캐시 등)
      2. 클라이언트는 서버의 구성과 상관 없이 REST API 서버로 요청한다
    5. Code on Demand (Optional)
      1. 요청을 받으면 서버에서 클라이언트로 코드 또는 스크립트(로직)을 전달하여 클라이언트 기능 확장한다
    6. 인터페이스 일관성 (Uniform Interface)
      1. HTTP 프로토콜을 따르는 모든 플랫폼에서 사용 가능하게끔 설계한다
      2. 정보가 표준 형식으로 전송되기 위해 구성 요소간 통합 인터페이스를 제공한다

     

    • REST의 장점
      • 서버와 클라이언트의 역할을 명확하게 분리한다
      • 여러 서비스 설계에서 생길 수 있는 문제를 최소화한다
      • HTTP 표준 프로토콜을 사용하는 모든 플랫폼에서 호환 가능하다
    • REST API란?
      • REST 아키텍처의 조건을 준수하는 어플리케이션 프로그래밍 인터페이스를 뜻한다
      • 최근 많은 API가 REST API로 제공되고 있다
      • 일반적으로 아키텍처를 구현하는 웹 서비스를 RESTful 하다고 표현한다
    • REST API 특징
      • REST 기반으로 시스템을 분산하여 확장성과 재사용성을 높일 수 있다
      • HTTP 표준을 따르고 있어 여러 프로그래밍 언어로 구현할 수 있다
    • REST API 설계 규칙
      1. 웹 기반의 REST API를 설계할 경우에는 URI를 통해 자원을 표현해야함
        1. Resource : member (3번의 Resource )
        2. Resource id : 589 (3번의 Resource id)
        3. https://thinkground.studio/member/589
        4. 자원에 대한 조작은 HTTP Method(CRUD)를 통해 표현해야 함
        5. HEADER를 통해 CRUD를 표현하여 동작을 요청해야 한다
      2. URI에 행위가 들어가면 안된다
      3. 메세지를 통한 리소스 조작대표적 형식으로는 HTML, XML, JSON, TEXT가 있다
      4. HEADER를 통해 content-type을 지정하여 데이터를 전달한다
      5. URI에는 소문자를 사용한다
      6. Resource의 이름이나 URI가 길어질 경우 하이픈(-)을 통해 가독성을 높일 수 있다
      7. 언더바(_)는 사용하지 않는다
      8. 파일 확장자를 표현하지 않는다

     

    오늘은 스프링 부트를 배우기 위해 REST API를 배워봤습니다.

    앞으로 쉬지않고 열심히 공부해보도록 하겠습니다.

     

    오늘도 즐코딩 하시고 좋은 하루 되세요~

     

    728x90
    반응형
Designed by Tistory.