Files
bookMgr-client/api-docs.json
T
msksbr 60e83d49dd feat: initialize app with routing, query management, and UI framework
- Replace Vite boilerplate with React Router for page navigation
- Add React Query for server state and cache management
- Integrate shadcn/ui component library with Tailwind CSS v4
- Configure @/ path alias for clean module imports
- Set up Vite dev proxy to API backend
- Remove default App.css, App.tsx, and react.svg assets
2026-05-24 19:19:08 +08:00

1 line
19 KiB
JSON

{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"paths":{"/api/borrows/returnbook":{"post":{"tags":["borrow-controller"],"operationId":"returnBookForMe","parameters":[{"name":"borrowId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/borrows/borrowbook":{"post":{"tags":["borrow-controller"],"operationId":"borrowBookForMe","parameters":[{"name":"bookId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/auth/logout":{"post":{"tags":["auth-controller"],"operationId":"logout","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}}}},"/api/auth/login":{"post":{"tags":["auth-controller"],"operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLoginDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultLoginVo"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}}}},"/api/admin/borrows/returnbook":{"post":{"tags":["admin-borrow-controller"],"operationId":"returnBook","parameters":[{"name":"recordId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/admin/borrows/borrowbook":{"post":{"tags":["admin-borrow-controller"],"operationId":"borrowBook","parameters":[{"name":"bookId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"userId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/admin/books/update":{"post":{"tags":["admin-book-controller"],"operationId":"updateBook","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookUpdateDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/admin/books/update-stock":{"post":{"tags":["admin-book-controller"],"operationId":"updateStock","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"stock","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/admin/books/delete":{"post":{"tags":["admin-book-controller"],"operationId":"deleteBook","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/admin/books/add":{"post":{"tags":["admin-book-controller"],"operationId":"addBook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookAddDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/borrows/search":{"get":{"tags":["borrow-controller"],"operationId":"searchMyBorrows","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultListMyBorrowVo"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/borrows/getone":{"get":{"tags":["borrow-controller"],"operationId":"getOneMyBorrow","parameters":[{"name":"borrowId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultMyBorrowVo"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/borrows/getall":{"get":{"tags":["borrow-controller"],"operationId":"getAllMyBorrows","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultListMyBorrowVo"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/books/search":{"get":{"tags":["book-controller"],"operationId":"searchBook","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultListBook"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}}}},"/api/books/getone":{"get":{"tags":["book-controller"],"operationId":"getOneBook","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultBook"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}}}},"/api/books/getall":{"get":{"tags":["book-controller"],"operationId":"getAllBooks","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultListBook"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}}}},"/api/admin/borrows/search":{"get":{"tags":["admin-borrow-controller"],"operationId":"searchBorrows","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultListBorrowInfoVo"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/admin/borrows/getone":{"get":{"tags":["admin-borrow-controller"],"operationId":"getOneBorrow","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultBorrowInfoVo"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}},"/api/admin/borrows/getall":{"get":{"tags":["admin-borrow-controller"],"operationId":"getAllBorrows","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultListBorrowInfoVo"}}}},"400":{"description":"Bad request — invalid parameters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"500":{"description":"Internal server error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"401":{"description":"Unauthorized — missing or invalid token","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}},"403":{"description":"Forbidden — insufficient permissions","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiResultString"}}}}},"security":[{"BearerAuth":[]}]}}},"components":{"schemas":{"ApiResultString":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":["string","null"]}},"required":["code","message"]},"UserLoginDto":{"type":"object","properties":{"username":{"type":["string","null"],"minLength":1},"password":{"type":["string","null"],"minLength":1}},"required":["password","username"]},"ApiResultLoginVo":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"oneOf":[{"$ref":"#/components/schemas/LoginVo"},{"type":"null"}]}},"required":["code","message"]},"LoginVo":{"type":"object","properties":{"token":{"type":"string"},"username":{"type":"string"},"role":{"type":"string"}},"required":["role","token","username"]},"BookUpdateDto":{"type":"object","properties":{"name":{"type":"string"},"author":{"type":"string"}},"required":["author","name"]},"BookAddDto":{"type":"object","properties":{"name":{"type":"string","minLength":1},"author":{"type":"string","minLength":1},"stock":{"type":"integer","format":"int32","minimum":1}},"required":["author","name","stock"]},"ApiResultListMyBorrowVo":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":["array","null"],"items":{"$ref":"#/components/schemas/MyBorrowVo"}}},"required":["code","message"]},"BookBorrowVo":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"author":{"type":"string"}},"required":["author","id","name"]},"MyBorrowVo":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bookBorrowVo":{"$ref":"#/components/schemas/BookBorrowVo"},"borrowTime":{"type":"string","format":"date-time"},"returnTime":{"type":["string","null"],"format":"date-time"},"status":{"type":"string"}},"required":["bookBorrowVo","borrowTime","id","status"]},"ApiResultMyBorrowVo":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"oneOf":[{"$ref":"#/components/schemas/MyBorrowVo"},{"type":"null"}]}},"required":["code","message"]},"ApiResultListBook":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Book"}}},"required":["code","message"]},"Book":{"type":"object","properties":{"id":{"type":["integer","null"],"format":"int64"},"name":{"type":"string"},"author":{"type":"string"},"stock":{"type":"integer","format":"int32"}},"required":["author","name","stock"]},"ApiResultBook":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"oneOf":[{"$ref":"#/components/schemas/Book"},{"type":"null"}]}},"required":["code","message"]},"ApiResultListBorrowInfoVo":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":["array","null"],"items":{"$ref":"#/components/schemas/BorrowInfoVo"}}},"required":["code","message"]},"BorrowInfoVo":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bookBorrowVo":{"$ref":"#/components/schemas/BookBorrowVo"},"userBorrowVo":{"$ref":"#/components/schemas/UserBorrowVo"},"borrowTime":{"type":"string","format":"date-time"},"returnTime":{"type":["string","null"],"format":"date-time"},"status":{"type":"string"}},"required":["bookBorrowVo","borrowTime","id","status","userBorrowVo"]},"UserBorrowVo":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"username":{"type":"string"},"role":{"type":"string"}},"required":["id","role","username"]},"ApiResultBorrowInfoVo":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"oneOf":[{"$ref":"#/components/schemas/BorrowInfoVo"},{"type":"null"}]}},"required":["code","message"]}},"securitySchemes":{"BearerAuth":{"type":"http","description":"JWT token returned by login endpoint","name":"Authorization","scheme":"bearer","bearerFormat":"JWT"}}}}