Spring Boot/UMC

Chapter 3. API

seung_hyeon 2025. 4. 1. 22:00

 

API

(Application Programming Interface)

응용 프로그램 간의 통신 도와주는 인터페이스

 

REST API

(Representational State Transfer API)

웹에서 자원을 효과적으로 관리하고 클라이언트-서버 간 통신을 원활하게 하기 위한 설계 원칙

HTTP를 기반으로 데이터를 주고받는 규칙

 

RESTful API Endpoint 설계 규칙

  1. URL에 동사 포함 X
  2. URL에서의 단어 구분 -(하이픈) 사용
  3. 자원은 복수형으로 표현
  4. 하나의 자원을 명시적으로 표현하기 위해 식별 값(/users/id) 추가로 사용
  5. 자원 간 연관 관계가 있을 경우 URL에 표현

API Endpoint

REST API에서 해당 API를 호출하기 위한 HTTP 메서드, URL 포함

 

HTTP 메소드

  1. GET : 조회
  2. POST : 생성 + 정보 넘김
  3. PUT : 갱신(전체)
  4. PATCH : 갱신(일부)
  5. DELETE : 삭제

더 중요한 대상을 계층 관계에서 앞에 둔다!


 

Path Variable

  • 특정 대상 지목
  • 자원의 고유 ID 포함해 특정 데이터 요청 시 사용
GET /users/articles/{articleId}

 

 

Query String

  • 검색 조회, 필터링 같은 추가 조건 URL에 전달
GET /users/articles?name=umc&owner=ddol

&을 이용해서 전달하려는 값 여러 개 연결

 

! 주의 !

쿼리 스트링은 API 엔드 포인트에 포함 안 된다

엔드포인트 자체는 GET /users/articles로 설계해야 한다

 

 

Request Body

POST 생성 시 url에 해당 정보들이 노출되는 것을 막는다

request body에 해당 데이터 담는다 (json or form-data 형태)

{
	"name" : "이하나",
	"phoneNum" : "010-1111-2222",
	"nickName" : "hana",
}

 

 

Request Header

  • 전송에 관련된 기타 정보들이 담기는 부분
  • 보통 인증 정보, 데이터 형식 포함

ex) body에 담기는 데이터의 형식, 로그인되었다는 것 알려주기 위한 토큰

Authorization: Bearer {token}
Content-Type: application/json

 

→ Authorization : JWT 토큰 포함하여 인증

    Content-Type : 요청 데이터 JSON으로 지정

 


API 설계 예시

- 회원가입

 

API Endpoint

POST/users

 

Request Body

{
	"name": "이승현",
	"gender": "여",
	"birth": "2004-02-08",
	"address": "대한민국"
}

 

Request Header

{
	"Content-Type": "application/json"
}

 

query String

없음

 

Path variable

없음

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

Chapter 4. Spring Boot 코어 개념  (0) 2025.04.09
Chapter 2. 실전 SQL  (0) 2025.03.27