본문 바로가기
Spring/Boot

스프링부트 RESTful Api

by dyddyd0 2024. 8. 15.
API( Application Programming Interface ): 소프트웨어 애플리케이션 간의 상호작용을 가능하게 하는 인터페이스.

API는 하나의 애플리케이션이 다른 애플리케이션의 기능이나 데이터를 사용할 수 있도록 정의된 규칙과 프로토콜의 집합이다.

HTTP/HTTPS를 통해 통신하는 Web API의 대표적 종류로 REST, SOAP, GraphQL 등이 있으며,

웹 어플리케이션이나 모바일 애플리케이션 통신에서 사용된다.

 

REST API — Representational State Transfer API :
웹 어플리케이션 간의 상호작용을 위한 아키텍처 스타일 및 설계 방식.
HTTP 프로토콜을 기반으로 하며 리소스 지향 아키텍터를 통한 클라이언트-서버 간의 데이터 전송을 가능하게 한다.

 

REST의 장점으로는 단순성, 유연성, 확장성이 있다.

  • 단순성 : HTTP 프로토콜을 그대로 사용하여, 이해하고 구현하기 쉬움.
  • 유연성: JSON, XML 등 다양한 형식의 데이터를 주고받을 수 있음.
  • 확장성: REST의 설계 원칙은 시스템 간의 유연한 확장을 가능하게 함.

REST API는 몇 가지의 원칙을 가지고 있는데 이 원칙을 준수하는 API를 RESTful API라고 부른다.

  1. 자원(Resource)의 명확한 식별
  2. 표준 HTTP 메서드 사용
  3. 무상태성(Stateless)
  4. 캐시 가능성(Cacheability)
  5. 일관된 인터페이스(Uniform Interface)

restful 한 api 를 만들기 위해

소문자, 명사형, 복수형으로 uri를 만들어 주자.

ex) /users

 

HTTP 메소드를 이용한 RESTful Api의 표현/구현 방식 (리소스에 대한 CRUD)

@GetMapping(”/users”) - 유저 목록 조회

@PostMapping(”/users”) - 신규 유저 가입(생성)

@PatchMapping(”/users/{id}”) - 유저 정보 수정

@DeleteMapping(”/users/{id}”) - 유저 탈퇴(삭제)

 

 

반응형

'Spring > Boot' 카테고리의 다른 글

스프링부트 응답 메시지 보내기  (0) 2024.09.01
스프링부트 thymeleaf 정리하기  (0) 2024.08.22
스프링부트 ResponseEntity<T>  (0) 2024.08.17