swagger: "2.0" info: description: "그누보드에 대한 REST API에 규약을 정해봅니다." version: "0.1.0" title: "그누보드(Gnuboard 5.4.x) REST API" termsOfService: "http://swagger.io/terms/" contact: email: "jakekwak@gmail.com" license: name: "MIT" url: "https://opensource.org/licenses/MIT" host: "your.website" basePath: "/api/v1" tags: - name: "member" description: "그누보드의 g5_member 테이블 관련입니다." schemes: - "https" - "http" paths: /member/signin: post: tags: - "member" summary: "멤버 등록" description: "This can only be done by the logged in user." operationId: "createUser" produces: - "application/xml" - "application/json" parameters: - in: "body" name: "body" description: "Created user object" required: true schema: $ref: "#/definitions/Member" responses: default: description: "successful operation" /member/login: post: tags: - "member" summary: "로그인하기" description: "" operationId: "loginUser" produces: - "application/xml" - "application/json" parameters: - name: "username" in: "query" description: "The user name for login" required: true type: "string" - name: "password" in: "query" description: "The password for login in clear text" required: true type: "string" responses: "200": description: "successful operation" schema: type: "string" headers: X-Rate-Limit: type: "integer" format: "int32" description: "calls per hour allowed by the user" X-Expires-After: type: "string" format: "date-time" description: "date in UTC when token expires" "400": description: "Invalid username/password supplied" /member/logout: post: tags: - "member" summary: "로그아웃하기" description: "" operationId: "logoutUser" produces: - "application/xml" - "application/json" parameters: [] responses: default: description: "successful operation" /member/{username}: get: tags: - "member" summary: "멤버(mb_id)로 정보가져오기" description: "" operationId: "getUserByName" produces: - "application/xml" - "application/json" parameters: - name: "username" in: "path" description: "The name that needs to be fetched. Use user1 for testing. " required: true type: "string" responses: "200": description: "successful operation" schema: $ref: "#/definitions/Member" "400": description: "Invalid username supplied" "404": description: "User not found" put: tags: - "member" summary: "멤버 정보 업데이트하기" description: "This can only be done by the logged in user." operationId: "updateUser" produces: - "application/xml" - "application/json" parameters: - name: "username" in: "path" description: "name that need to be updated" required: true type: "string" - in: "body" name: "body" description: "Updated user object" required: true schema: $ref: "#/definitions/Member" responses: "400": description: "Invalid user supplied" "404": description: "User not found" delete: tags: - "member" summary: "멤버 지우기" description: "This can only be done by the logged in user." operationId: "deleteUser" produces: - "application/xml" - "application/json" parameters: - name: "username" in: "path" description: "The name that needs to be deleted" required: true type: "string" responses: "400": description: "Invalid username supplied" "404": description: "User not found" securityDefinitions: petstore_auth: type: "oauth2" authorizationUrl: "http://petstore.swagger.io/oauth/dialog" flow: "implicit" scopes: write:gnuboard: "modify gnuboard in your account" read:gnuboard: "read your gnuboard" api_key: type: "apiKey" name: "api_key" in: "header" definitions: Member: type: "object" properties: id: description: "mb_no" type: "integer" format: "int64" username: type: "string" description: "mb_id" password: type: "string" description: "mb_password" firstName: type: "string" description: "mb_name" lastName: type: "string" description: "이번 버전에는 없음" nickname: type: "string" description: "mb_nick" nickdate: type: "string" description: "mb_nick_date date타입이 지원안됨" email: type: "string" description: "mb_email" homepage: type: "string" description: "mb_homepage" level: type: "integer" format: "int8" description: "mb_level" xml: name: "Member"