电商系统设计之商品接口

本文详细介绍了电商商品详情接口的设计原则,包括减少JSON嵌套、方便查询SKU等。通过示例展示了如何组合规格和属性来查询SKU,并提供了完整的接口文档,包括请求地址、参数及响应示例。此外,还解释了响应参数的含义,帮助客户端和服务端开发者更好地理解和协作。

前言

我应该是少数在文章中直接展示接口文档的人。本篇我思考了很久到底要不要解析下商品接口开发的注意点。

客户端开发与服务端开发即是天敌也是兄弟。希望本篇文章让你们减少争执,把“爱”给对方。

接口设计

简述

电商系统设计之中,比较复杂的接口就论商品详情的接口了,响应参数特别多,特别杂。在开发获取商品详情接口时要遵循以下几个原则

  • 返回的JSON嵌套数量要少
  • 方便去查询到指定的SKU
  • 其他接口相关规范

查询SKU

关于查询SKU,我让我的小伙伴是这样做的,首先拿出规格和属性

"选择颜色": [
   {
          "name": "银色",
          "id": 75
   }
],
"选择版本": [
   {
          "name": "公开版",
          "id": 77
   },
   {
          "name": "【原厂延保版】",
          "id": 78
   }  
],
"内存": [
   {
          "name": "64G",
          "id": 82
   },
   {
          "name": "256G",
          "id": 83
   }
],
      

没错,你没有看错,实际就是将规格作为key,属性作为value。将value[id]取出,进行拼接即可查询到对应的SKU了。

响应参数[规格名称][属性编码] = 拼接SKU串的必需品

规格相当于一个分组,属性其实也是拼接SKU的重要组成部分,上述数据为例

75_77_82 = 银色,公开版,64G

接口文档

请求地址

/v1/product/{productId}

请求类型

GET

请求参数

参数 类型 默认值 说明
productId int 0 商品编码

响应示例

{
  "code": 200,
  "message": "获取成功",
  "data": {
    "id": 131,
    "name": "Apple iPhone X (A1865) 64GB 深空灰色 移动联通电信4G手机",
    "price": "8388.00",
    "market_price": "8388.00
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值