440 lines
20 KiB
JSON
440 lines
20 KiB
JSON
{
|
|
"openapi": "3.0.0",
|
|
"info": {
|
|
"title": "SAM API Documentation",
|
|
"description": "SAM(Semi-Automatics Management) API 입니다.",
|
|
"contact": {
|
|
"email": "shine1324@gmail.com"
|
|
},
|
|
"version": "1.0.0"
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "https://api.5130.co.kr",
|
|
"description": "SAM API 서버"
|
|
}
|
|
],
|
|
"paths": {
|
|
"/api/debug-apikey": {
|
|
"get": {
|
|
"tags": [
|
|
"API Key 인증"
|
|
],
|
|
"summary": "API Key 인증 확인",
|
|
"operationId": "339b727010e448749df58cd6b6ff7c28",
|
|
"responses": {
|
|
"200": {
|
|
"description": "API Key 인증 성공"
|
|
},
|
|
"401": {
|
|
"description": "인증 실패"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/login": {
|
|
"post": {
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "회원 토큰 정보확인",
|
|
"operationId": "f6d04be1de7bb4a85327471c8d3d1e42",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"required": [
|
|
"user_id",
|
|
"user_pwd"
|
|
],
|
|
"properties": {
|
|
"user_id": {
|
|
"type": "string",
|
|
"example": "test"
|
|
},
|
|
"user_pwd": {
|
|
"type": "string",
|
|
"example": "testpass"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "로그인 성공",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"user_token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "로그인 실패"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/logout": {
|
|
"post": {
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"summary": "로그아웃 (Access 및 Token 무효화)",
|
|
"operationId": "ff979e4e699115485dc29fb752d8e3a5",
|
|
"responses": {
|
|
"200": {
|
|
"description": "로그아웃 성공"
|
|
},
|
|
"401": {
|
|
"description": "인증 실패"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/member/index": {
|
|
"get": {
|
|
"tags": [
|
|
"Member"
|
|
],
|
|
"summary": "회원 목록 조회",
|
|
"description": "회원 목록을 조회합니다.",
|
|
"operationId": "ced049450f232af2399028145777ed3c",
|
|
"parameters": [
|
|
{
|
|
"name": "user_token",
|
|
"in": "query",
|
|
"description": "회원 인증용 토큰",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"example": "abc123token"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"in": "query",
|
|
"description": "조회 타입: 기본(default), 상세(info)",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"enum": [
|
|
"default",
|
|
"info"
|
|
],
|
|
"example": "default"
|
|
}
|
|
},
|
|
{
|
|
"name": "debug",
|
|
"in": "query",
|
|
"description": "디버그 모드 여부 (쿼리 로그 포함 여부)",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "boolean",
|
|
"example": true
|
|
}
|
|
},
|
|
{
|
|
"name": "status",
|
|
"in": "query",
|
|
"description": "상태 필터링 (01,02,03 사용자만 조회)",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "boolean",
|
|
"example": true
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "회원 목록 조회 성공",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean",
|
|
"example": true
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"example": "회원목록 조회 성공"
|
|
},
|
|
"data": {
|
|
"properties": {
|
|
"1": {
|
|
"properties": {
|
|
"mb_num": {
|
|
"type": "integer",
|
|
"example": 1
|
|
},
|
|
"tn_num": {
|
|
"type": "string",
|
|
"example": null
|
|
},
|
|
"mb_id": {
|
|
"type": "string",
|
|
"example": "admin"
|
|
},
|
|
"mb_name": {
|
|
"type": "string",
|
|
"example": "권혁성"
|
|
},
|
|
"mb_phone": {
|
|
"type": "string",
|
|
"example": "010-4820-9104"
|
|
},
|
|
"mb_mail": {
|
|
"type": "string",
|
|
"example": "shine1324@gmail.com"
|
|
},
|
|
"email_verified_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"example": null
|
|
},
|
|
"mb_type": {
|
|
"type": "string",
|
|
"example": null
|
|
},
|
|
"mb_level": {
|
|
"type": "integer",
|
|
"example": 1
|
|
},
|
|
"last_login": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"example": null
|
|
},
|
|
"reg_date": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"example": "2025-07-16T09:28:41.000000Z"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"example": null
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"example": "2025-07-16T09:30:56.000000Z"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"query": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"example": "select * from `members`"
|
|
}
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "인증 실패"
|
|
},
|
|
"403": {
|
|
"description": "권한 없음"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/member/show/{user_no}": {
|
|
"get": {
|
|
"tags": [
|
|
"Member"
|
|
],
|
|
"summary": "회원 상세조회",
|
|
"description": "user_no 기준으로 회원 상세 정보를 조회합니다.",
|
|
"operationId": "ed81df83f2079b81d2ba41c97e79633f",
|
|
"parameters": [
|
|
{
|
|
"name": "user_no",
|
|
"in": "path",
|
|
"description": "회원 번호 (USER_NO)",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer",
|
|
"example": 1
|
|
}
|
|
},
|
|
{
|
|
"name": "debug",
|
|
"in": "query",
|
|
"description": "디버그 모드 여부 (쿼리 확인용)",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "boolean",
|
|
"example": true
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "조회 성공",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean",
|
|
"example": true
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"example": "회원 상세조회 성공"
|
|
},
|
|
"data": {
|
|
"properties": {
|
|
"mb_num": {
|
|
"type": "integer",
|
|
"example": 1
|
|
},
|
|
"tn_num": {
|
|
"type": "string",
|
|
"example": null
|
|
},
|
|
"mb_id": {
|
|
"type": "string",
|
|
"example": "admin"
|
|
},
|
|
"mb_name": {
|
|
"type": "string",
|
|
"example": "권혁성"
|
|
},
|
|
"mb_phone": {
|
|
"type": "string",
|
|
"example": "010-4820-9104"
|
|
},
|
|
"mb_mail": {
|
|
"type": "string",
|
|
"example": "shine1324@gmail.com"
|
|
},
|
|
"email_verified_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"example": null
|
|
},
|
|
"mb_type": {
|
|
"type": "string",
|
|
"example": null
|
|
},
|
|
"mb_level": {
|
|
"type": "integer",
|
|
"example": 1
|
|
},
|
|
"last_login": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"example": null
|
|
},
|
|
"reg_date": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"example": "2025-07-16T09:28:41.000000Z"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"example": null
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"example": "2025-07-16T09:30:56.000000Z"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"query": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"example": "select * from `members` where `mb_num` = 1 limit 1"
|
|
}
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "회원 정보 없음"
|
|
},
|
|
"401": {
|
|
"description": "인증 실패"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"ApiKeyAuth": []
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
{
|
|
"name": "API Key 인증",
|
|
"description": "API Key 인증"
|
|
},
|
|
{
|
|
"name": "Auth",
|
|
"description": "Auth"
|
|
},
|
|
{
|
|
"name": "Member",
|
|
"description": "Member"
|
|
}
|
|
],
|
|
"components": {
|
|
"securitySchemes": {
|
|
"ApiKeyAuth": {
|
|
"type": "apiKey",
|
|
"in": "header",
|
|
"name": "X-API-KEY",
|
|
"description": "API Key 인증: X-API-KEY: {API_KEY}}"
|
|
}
|
|
}
|
|
}
|
|
} |