quantum_stack_interview/docs/api/shop.md

4.2 KiB
Raw Permalink Blame History

shop

Base URLs: http://127.0.0.1:8000/shop/

GET 搜索商品

GET /shop/product/search/

支持关键词搜索,包含名字、编号、描述、关键词(或者应该叫标签)

请求参数

名称 位置 类型 必选 说明
q query string 关键词
page query integer 页码
page_size query integer 页面大小最大100

返回示例

200 Response

{
  "products": [
    {
      "id": 10,
      "name": "e",
      "description": "效关科造区最飞阶。就见除据区眼求该合。今新料。",
      "price": "19.20",
      "stock": 7387915975153562,
      "keywords": "天也商"
    },
    {
      "id": 11,
      "name": "e",
      "description": "效关科造区最飞阶。就见除据区眼求该合。今新料。",
      "price": "123.20",
      "stock": 7387915975153562,
      "keywords": "天也商"
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» products [object] true none none
»» id integer true none none
»» name string true none 商品名称 none
»» description string true none 商品描述 none
»» price string true none 商品价格 none
»» stock integer true none 商品库存 none
»» keywords string true none 商品关键词 none

POST 批量下单接口

POST /shop/order/batch/

批量下单商品

Body 请求参数

{
  "items": [
    {
      "product_id": 0,
      "quantity": 0
    }
  ]
}

请求参数

名称 位置 类型 必选 中文名 说明
body body object none
» items body [object] none
»» product_id body integer 下单商品id none
»» quantity body integer 下单数量 none

返回示例

200 Response

{
  "order_id": 13,
  "results": [
    {
      "product_id": 1,
      "status": "success"
    },
    {
      "product_id": 5,
      "status": "success"
    },
    {
      "product_id": 86,
      "status": "failed",
      "reason": "商品不存在"
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» order_id integer true none none
» results [object] true none none
»» product_id integer true none 下单商品id none
»» status string true none 下单结果 none
»» reason string false none 错误信息 none

POST 新增商品

POST /shop/product/create/

新增商品

Body 请求参数

{
  "data": {
    "name": "string",
    "price": 0,
    "stock": 0,
    "description": "string",
    "keywords": "string"
  }
}

请求参数

名称 位置 类型 必选 中文名 说明
body body object none
» data body object none
»» name body string 商品名称 none
»» price body integer 商品价格 none
»» stock body integer 商品库存 none
»» description body string 商品描述 none
»» keywords body string 商品关键词 none

返回示例

200 Response

{
  "result": {
    "id": 14,
    "name": "x",
    "description": "者车重转必维目马。作属时看区低验什声。无使山精出如。",
    "price": "943941625",
    "stock": 5203132084980572,
    "keywords": "收适面"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» result object true none none
»» id integer true none none
»» name string true none 商品名称 none
»» description string true none 商品描述 none
»» price string true none 商品价格 none
»» stock integer true none 商品库存 none
»» keywords string true none 商品关键词 none