需求說明
用戶於登入系統請求成功後,Server 產生 JWT token 回傳給客戶端,且之後的CRUD Request 都需帶入 Token 取得 Response Data
開發規格
- Language:Java - Spring Boot - Java 21 STL
- OpenAPI:Swagger
- Database:PostgreSQL
API List
POST /auth/login
Login 用戶登入系統並在Response Header Authorization取得token
- Request
Body
json
{
"account":"{{account}}",
"password":"{{password}}"
}
- Success Response
Headers
| Field | Type | Description |
|---|---|---|
| Authorization | string | JWT token |
Status Code
- 200
成功
Content
json
{
"account":"使用者帳號",
"name":"使用者名稱"
}
- Error Response
Status Code
-
401
帳號密碼錯誤 -
500
系統錯誤
POST /goods/add
新增商品
- Request
Header
| Field | Type | Description |
|---|---|---|
| Authorization | string | JWT token |
Body
Json
{
"goods_name":"{{goods_name}}"
}
- Success Response
Status Code
- 200
成功
Content
json
{
"_id":"商品代號",
"goods_name":"商品名稱"
}
- Error Response
Status Code
-
403
權限不足 -
500
系統錯誤
GET /goods
取得所有商品
- Request
Header
| Field | Type | Description |
|---|---|---|
| Authorization | string | JWT token |
- Success Response
Status Code
- 200
成功
Content
json
[
{
"_id":"商品代號1",
"goods_name":"商品名稱1"
},
{
"_id":"商品代號2",
"goods_name":"商品名稱2"
}
]
- Error Response
Status Code
-
403
權限不足 -
500
系統錯誤
GET /goods/{id}
取得指定商品
- Request
Header
| Field | Type | Description |
|---|---|---|
| Authorization | string | JWT token |
Variable
| Field | Type | Description |
|---|---|---|
| id | string | 商品代號 |
- Success Response
Status Code
- 200
成功
Content
json
{
"_id":"商品代號",
"goods_name":"商品名稱"
}
- Error Response
Status Code
-
403
權限不足 -
500
系統錯誤
PUT /goods/{id}
更新商品
- Request
Header
| Field | Type | Description |
|---|---|---|
| Authorization | string | JWT token |
Variable
| Field | Type | Description |
|---|---|---|
| id | string | 商品代號 |
Body
json
{
"goods_name":"商品名稱"
}
- Success Response
Status Code
- 200
成功
Content
json
{
"_id":"商品代號",
"goods_name":"商品名稱"
}
- Error Response
Status Code
-
403
權限不足 -
500
系統錯誤
DELETE /goods/{id}
刪除商品
- Request
Header
| Field | Type | Description |
|---|---|---|
| Authorization | string | JWT token |
Variable
| Field | Type | Description |
|---|---|---|
| id | string | 商品代號 |
- Success Response
Status Code
-
200
成功 -
Error Response
Status Code
-
403
權限不足 -
500
系統錯誤
檔案規格
systemUser
| 英文名稱 | 中文名稱 | 資料型態 | 長度 | 小數位數 | 允許空值 | Key | 欄位說明 |
|---|---|---|---|---|---|---|---|
| _id | uuid | N | P | UUID | |||
| account | varchar | 128 | N | U | 帳號 | ||
| password | varchar | 128 | 密碼 | ||||
| name | varchar | 128 | 名稱 |
goods
| 英文名稱 | 中文名稱 | 資料型態 | 長度 | 小數位數 | 允許空值 | Key | 欄位說明 |
|---|---|---|---|---|---|---|---|
| _id | uuid | N | P | UUID | |||
| name | varchar | 128 | N | 商品名稱 | |||
| cr_user | uuid | N | F | 創建者 systemUser._id的外鍵 |
|||
| cr_datetime | timestamp | 預設現在時間 | |||||
| up_user | uuid | N | F | 更新者 systemUser._id的外鍵 |
|||
| up_datetime | timestamp | 預設現在時間 |
繳交文件
- 程式碼
- 專案啟動方式
- 資料庫table的create script和data的insert script