3.7 KiB
3.7 KiB
API Reference
Base URL
http://<your-server-address>:<port>
Authentication
All endpoints (except /login) require a valid JWT token in the Authorization header. The token is prefixed with Bearer .
Endpoints
1. Login
- Endpoint:
/login - Method:
POST - Request Body:
{ "username": "string", "password": "string" } - Response:
{ "token": "string" } - Description: Authenticates a user and returns a JWT token.
2. Get Boxes
- Endpoint:
/boxes - Method:
GET - Response:
[ { "id": "integer", "name": "string" }, ... ] - Description: Retrieves all boxes.
3. Create Box
- Endpoint:
/boxes - Method:
POST - Request Body:
{ "name": "string" } - Response:
{ "id": "integer", "name": "string" } - Description: Creates a new box and returns its ID.
4. Delete Box
- Endpoint:
/boxes/{id} - Method:
DELETE - Description: Deletes a box by its ID.
5. Get Items
- Endpoint:
/items - Method:
GET - Response:
[ { "id": "integer", "name": "string" }, ... ] - Description: Retrieves all items.
6. Create Item
- Endpoint:
/items - Method:
POST - Request Body:
{ "name": "string", "description": "string", "box_id": "integer" } - Response:
{ "id": "integer", "name": "string" } - Description: Creates a new item and returns its ID.
7. Get Item
- Endpoint:
/items/{id} - Method:
GET - Response:
{ "id": "integer", "name": "string", "description": "string", "box_id": "integer" } - Description: Retrieves an item by its ID.
8. Update Item
- Endpoint:
/items/{id} - Method:
PUT - Request Body:
{ "name": "string", "description": "string", "box_id": "integer" } - Response:
{ "id": "integer", "name": "string" } - Description: Updates an item by its ID.
9. Delete Item
- Endpoint:
/items/{id} - Method:
DELETE - Description: Deletes an item by its ID.
10. Get Items in Box
- Endpoint:
/boxes/{id}/items - Method:
GET - Response:
[ { "id": "integer", "name": "string" }, ... ] - Description: Retrieves all items within a specified box.
11. Upload Item Image
- Endpoint:
/items/{id}/upload - Method:
POST - Form Data:
- File:
image(the image file to upload)
- File:
- Response:
{ "imagePath": "string" } - Description: Uploads an image for a specified item.
12. Get Item Image
- Endpoint:
/items/{id}/image - Method:
GET - Response: Returns the image of the specified item.
- Description: Retrieves the image for an item by its ID.
13. Search Items
- Endpoint:
/search/items - Method:
GET - Query Parameters:
q: Search query string
- Response:
[ { "id": "integer", "name": "string" }, ... ] - Description: Searches for items based on a query string.
Middleware
- AuthMiddleware: Validates the JWT token in the
Authorizationheader and restricts access to protected endpoints.
Notes
- Replace
<your-server-address>and<port>with your actual server address and port. - Ensure that CORS settings allow your frontend to access the API.