API
(Application Programming Interface)
응용 프로그램 간의 통신 도와주는 인터페이스
REST API
(Representational State Transfer API)
웹에서 자원을 효과적으로 관리하고 클라이언트-서버 간 통신을 원활하게 하기 위한 설계 원칙
HTTP를 기반으로 데이터를 주고받는 규칙
RESTful API Endpoint 설계 규칙
- URL에 동사 포함 X
- URL에서의 단어 구분 -(하이픈) 사용
- 자원은 복수형으로 표현
- 하나의 자원을 명시적으로 표현하기 위해 식별 값(/users/id) 추가로 사용
- 자원 간 연관 관계가 있을 경우 URL에 표현
API Endpoint
REST API에서 해당 API를 호출하기 위한 HTTP 메서드, URL 포함
HTTP 메소드
- GET : 조회
- POST : 생성 + 정보 넘김
- PUT : 갱신(전체)
- PATCH : 갱신(일부)
- 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 |