Use_Silver.log
로그인
Use_Silver.log
로그인
[Spring Boot] RestAPI란?
Use_Silver
·
2022년 2월 15일
팔로우
0
Spring boot
0
Spring
목록 보기
7/10
RestAPI 개념
Rest란?
Representational State Transfer
웹에 존재하는 모든 자원(이미지, 동영상, DB 등)에 고유한 URI(*)를 부여해 활용하는 것
URI
특정 리소스를 식별하는 통합 자원 식별자(Uniform Resource Identifier)
URI vs URL
URI는
식별자
의 역할, URL은 주소를 가리키는 역할을 한다.
두 번째 주소를 살펴보면 실제 index라는 파일은 웹서버에 존재하지 않는다. 따라서 실제 주소를 가리키는 URL은 아니지만, 서버 내부에서 index는 index.html을 가리키기 때문에 URI라고 볼 수 있다.
참고
하나의 URI는 고유한 리소스와 연결되며 리소스는 GET/POST/PUT/DELETE 등의
HTTP 메소드로 제어
하자는 개념
Restful API란?
REST 특징을 지키면서 API를 제공하는 것
을 의미
REST 형태로 사용자가 원하는 기능을 제공하는 것을 의미
웹의 장점을 최대한 활용할 수 있는 아키텍처
REST 아키텍처는 Hypermedia API의 기본을 지키며 범용성을 보장한다.
REST 방식으로 서비스를 제공하는 것을 Restful 하다라고 표현
함. 즉, REST의 원리를 따르는 시스템을 지칭하는 용어를 뜻함
ex. 공공API
Rest API 중심 규칙
URI는 정보의 자원을 표현해야 함
- 리소스명은 동사보다 명사를 사용
ex. GET/members/delete/1 => GET/members/1 변경
자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE등)로 표현해야 함
URI 사용자 - end user
회원정보를 가져올 때에는 GET, 회원 추가시 행위 표현하고자 할 때 POST Method 사용
GET만으로 정보 요청 -> show 문구 불필요
GET/members/show/1 (X) => GET/members/1 (O)
POST만으로 정보 저장 요청 -> insert 문구 불필요
GET/members/insert/2 (X) => POST/members/2 (O)
URI 설계시 주의할 점
슬래시 구분자(/)는 계층 관계를 나타내는 용도
URI 마지막 문자로 슬래시(/)를 포함하지 않음
하이픈(-)은 가독성을 높이는데 사용
밑줄(_)은 URI에 사용하지 않음
URI 경로에 소문자가 적합
파일 확장자는 URI이 포함하지 않음
HTTP Method 종류 및 특징
Self-descriptiveness(자체 표현 구조)
- REST의 또 다른 큰 특징 중 하나는
REST API 메시지만 보고도 이를 쉽게 이해 할 수 있는 자체 표현 구조
로 되어있음
POST, GET, PUT, DELETE 4가지의 Method로 CRUD를 수행함
METHOD
기능
POST
POST를 통해 해당 URI를 요청하면 리소스를 생성 or수정
GET
GET을 통해 해당 리소스를 조회
리소스를 조회하고 해당 도큐먼트에 대한 정보를 가져옴
PUT
리소스를 수정 or 생성
DELETE
리소스 삭제
Controller 어노테이션
@RestController
controller에서 응답하는 데이터가 JSON 형식으로 반환
@ResponseBody를 각 메소드마다 선언했던 것을 한번에 사용할 수 있게 해주는 설정과 흡사함
Use_Silver
과정은 힘들지만😨 성장은 즐겁습니다🎵
팔로우
이전 포스트
[Spring Boot] 설치 및 기본 설정
다음 포스트
[Spring Boot] 롬복(Lombok)
0개의 댓글
댓글 작성