Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Linux
- 톰캣
- Docker
- http
- cmd
- servicename
- oracle
- 안드로이드 스튜디오
- HTML
- 키보드
- MySQL
- wsdl
- ibatis
- 스레드
- letterspacing
- 프로세스
- JDBC
- 오블완
- 영상편집
- httpservletreqeust
- 스레드 덤프
- java
- Tomcat
- 티스토리챌린지
- API
- 컨트롤러
- service name
- MariaDB
- SID
- Database
Archives
- Today
- Total
블로그 이름
[API] API 명세서 작성하는 방법 본문
API 명세서란?
API 명세 가이드라인
- API 개요: API를 간단하게 설명하는 섹션. API가 어떤 용도로 만들어졌는지, 어떤 유형의 API인지, 어떤 요청 방식을 사용하는지 등을 설명한다.
- 엔드포인트(endpoint) 설명: API에 대한 각 엔드포인트에 대한 설명. 각 엔드포인트는 API의 특정 동작을 수행하며, 일반적으로 HTTP 메소드(GET, POST, PUT, DELETE 등)를 사용하여 호출한다. 각 엔드포인트의 URL과 함께 해당 엔드포인트에서 수행되는 동작을 설명한다.
- 매개변수(Parameter)와 요청 바디(Request Body) 설명: API 호출 시 전달되는 매개변수와 요청 바디에 대한 설명을 포함한다. 각 매개변수에 대한 설명, 데이터 타입, 기본값 등을 명시한다.
- 응답(Response) 설명: API의 응답에 대한 설명을 포함한다. 응답 코드와 함께 예상되는 응답 데이터에 대한 정보를 제공한다.
- 예제(API examples): 각 API 호출에 대한 예제를 제공한다. 이 예제는 API 사용자가 API 호출을 어떻게 수행해야 하는지를 이해하는 데 도움이 된다.
- 에러(Error) 처리 설명: API 호출 중 발생할 수 있는 예외나 오류에 대한 처리 방법을 설명한다.
- 인증(Authentication)과 권한 부여(Authorization) 설명: API에 대한 인증 및 권한 부여 방법을 설명한다.
- 자원(Resource) 모델 설명: API가 사용하는 자원 모델에 대한 설명을 제공한다. 이 섹션에서는 각 자원이 어떻게 표현되는지, 자원에 대한 식별자는 무엇인지, 자원의 상태와 상태 전이에 대한 정보를 제공한다.
개요로 API에 대해 설명하고, 동작이 일어나는 엔드포인트를 설명하고, 매개변수(인자)를 어떤 걸 받아야 하는지에 대해 명시하고, 응답이 어떻게 오는지, 어떤 식으로 API를 보내면 되는지, 에러가 난다면 어떻게 처리해야 하는지, 어떤 자원을 사용하는지에 관해 설명한다.
API 명세 예제
Posts API
Request
curl -X POST https://{SERVER_URL}/api/posts \
-H "Content-Type: application/json" \
-d '{ \
"content": "내용" \
}'
메서드요청 URL
POST | http://{SERVER_URL}/api/posts |
Request Header
Content-Type | String | 필수 | application/json |
Request Elements
content | String | 필수 | 내용 |
Response
{
"id" : 1
}
Response Elements
id | Integer | 필수 | 포스트 고유 번호 |
포스트 목록 조회
Request
curl -X GET https://{SERVER_URL}/api/posts?page=1&size=1 \
-H "token: {API_KEY}"
메서드요청 URL
GET | http://{SERVER_URL}/api/posts |
Request Header
toekn | String | 필수 | 인증 키 |
Request Elements
page | Integer | 선택 | 페이지 번호 |
size | Integer | 선택 | 한 페이지에 표시할 포스트 개수 |
Response
{
"page": 1,
"size": 1,
"totalPage": 150,
"totalCount": 1496,
"data": [
{
"id": 1,
"title": "제목1",
"content": "내용1",
},
{
"id": 2,
"title": "제목2",
"content": "내용2",
},
{
"id": 3,
"title": "제목3",
"content": "내용3",
}
]
}
Response Elements
page | Integer | 필수 | 페이지 번호 |
size | Integer | 필수 | 한 페이지에 표시할 포스트 개수 |
totalPage | Integer | 필수 | 전체 페이지 |
totalCount | Integer | 필수 | 전체 포스트 |
data | Integer | 필수 | 포스트 목록 |
id | Integer | 필수 | 포스트 고유 번호 |
title | Integer | 필수 | 포스트 제목 |
content | Integer | 필수 | 포스트 내용 |
오늘은 API 명세서 작성하는 방법을 알아보았다.
'개발 > 기타' 카테고리의 다른 글
프론트엔드와 백엔드와 풀스택 정의 (1) | 2024.11.25 |
---|---|
NameSpace란 (1) | 2024.11.24 |
IT 용어 정리, PoC, BMT 뜻 (0) | 2024.11.20 |
웹 소켓(Web socket)이란? (0) | 2024.11.15 |
WSUS 서버란? (0) | 2024.11.13 |