하베스팅 데이터 모니터링 시스템(HDMS)의 REST API 문서입니다.
이 문서는 HDMS 백엔드 API의 전체 스펙을 제공합니다. 인증, 사용자 관리, 센서 데이터 모니터링 등의 기능을 포함합니다.
-
파일 다운로드
git clone <repository-url> cd swagger
-
웹 서버 실행
Python 사용:
# Python 3 python -m http.server 8000 # Python 2 python -m SimpleHTTPServer 8000
Node.js 사용:
npx http-server
Live Server (VS Code 확장) 사용:
- VS Code에서
index.html파일 우클릭 - "Open with Live Server" 선택
- VS Code에서
-
브라우저에서 확인
http://localhost:8000
다음 도구들을 사용하여 온라인에서 바로 확인할 수 있습니다:
-
Swagger Editor: https://editor.swagger.io/
api-docs.yaml파일 내용을 복사해서 붙여넣기
-
GitHub Pages:
- 이 레포지토리를 GitHub에 올리고 Pages 기능 활성화
swagger/
├── index.html # Swagger UI 메인 페이지
├── api-docs.yaml # OpenAPI 3.0 스펙 파일
└── README.md # 이 파일
- 한국어로 커스터마이징된 Swagger UI
- 반응형 디자인
- 하베스팅 테마 적용
- CDN을 통한 최신 Swagger UI 사용
- OpenAPI 3.0 스펙
- 전체 API 엔드포인트 정의
- 스키마 및 예시 포함
- 한국어 문서화
-
로그인 API 호출
curl -X POST http://localhost:8080/api/auth/login \ -H "Content-Type: application/json" \ -d '{ "userIdOrEmail": "admin", "password": "admin123!" }'
-
응답에서 토큰 추출
{ "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "tokenType": "Bearer", "expiresIn": 86400, "user": { ... } } -
다른 API 호출 시 토큰 사용
curl -X GET http://localhost:8080/api/auth/me \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
POST /auth/login- 로그인POST /auth/logout- 로그아웃GET /auth/me- 현재 사용자 정보
GET /admin/users- 사용자 목록 조회POST /admin/users- 사용자 생성GET /admin/users/{userId}- 사용자 상세 조회DELETE /admin/users/{userId}- 사용자 삭제PUT /admin/users/{userId}/toggle-status- 사용자 상태 변경PUT /admin/users/{userId}/menu-permissions- 메뉴 권한 수정
- Swagger UI에서 "Download" 버튼 클릭
- OpenAPI 파일을 Postman으로 import
OpenAPI Generator를 사용하여 클라이언트 코드 생성:
# TypeScript/JavaScript 클라이언트
openapi-generator-cli generate \
-i api-docs.yaml \
-g typescript-fetch \
-o ./generated/typescript
# Java 클라이언트
openapi-generator-cli generate \
-i api-docs.yaml \
-g java \
-o ./generated/javaapi-docs.yaml파일 수정- 로컬에서 Swagger UI로 확인
- 새로운 API 추가 시 예시와 설명 포함
- 변경사항을 git으로 관리
/new/endpoint:
post:
tags:
- 새로운 기능
summary: 새로운 기능 설명
description: 상세한 설명
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NewRequest'
responses:
'200':
description: 성공
content:
application/json:
schema:
$ref: '#/components/schemas/NewResponse'- URL:
http://localhost:8080/api - 개발 및 테스트용
- URL:
https://api.hdms.com/api - 프로덕션 환경
문제가 있거나 질문이 있으시면 연락주세요:
- 팀: HDMS Team
- 이메일: admin@hdms.com
MIT License
🌾 HDMS Team | 하베스팅 데이터 모니터링 시스템