接口设计---更好的提高效率

接口设计规范

一. 接口示例

以下是一个用户信息接口的文档示例,包含接口描述,请求参数,响应参数,json示例等。

接口描述:用户登陆成功后,或进入个人中心时会获取一次用户信息

URI 方法
/userinfo GET
请求参数

名称 必填 备注
id 是 用户id
响应参数

名称 类型 备注
id String 用户id
name String 姓名,例:张三
age String 年龄,例:20
json示例

{
“code”:200,
“msg”:”成功”,
“time”:”1482213602000”,
“data”: {
“id”:”1001”,
“name”:”张三”,
“age”:”20”
}
}

二. 基本规范

1.通用请求参数

每个请求都要携带的参数,用于描述每个请求的基本信息,后端可以通过这些字段进行接口统计,或APP终端设备的统计,一般放到header或url参数中。

字段名称    说明
version 客户端版本version,例:1.0.0
token   登陆成功后,server返回的登陆令牌token
os  手机系统版本(Build.VERSION.RELEAS)例:4.44.5
from    请求来源,例:android/ios/h5
screen  手机尺寸,例:1080*1920
model   机型信息(Build.MODEL),例:Redmi Note 3
channel 渠道信息,例:com.wandoujia
net APP当前网络状态,例:wifi,mobile;部分接口可以根据用户当前的网络状态,下发不同数据策略,如:wifi则返回高清图,mobile情况则返回缩略图
appid   APP唯一标识,有的公司一套server服务多款APP时,需要区分开每个APP来源

2.请求Path

原则:在以下命名规范的基础上尽量保持良好的可读性,见名知意。另外这里需要额外提下restful规范,个人理解restful规范是通过path表示当前请求的资源,通过method表示当前请求的操作动作(post=增,delete=删,put=改,get=查),例:GET /userinfo/{id},通过这个path就可以清楚的知道当前请求的意图是根据id获取用户信息,而APP开发中很多时候一个页面是需要同时获取,如,用户,订单,营销各种信息,这时候就很难用一个path来表示当前请求的真正意图,restful规范就很难得到实现,故本文介绍的接口设计方法,只区分get和post,通过path命名定义请求行为,

操作行为    Method  Path
查找  GET getXxx
增加  POST    addXxx/submitXxx
修改  POST    modifyXxx
删除  POST    delXxx
示例:
操作行为    Method  Path
获取用户信息  GET getUserInfo
增加收货地址  POST    addAddress
修改密码    POST    modifyPwd
删除收货地址  POST    delAddress
登陆  GET login
发送短信验证码 GET sendSms
订单支付    POST    orderPay

3.响应数据

字段名称 说明
code 响应状态码,200:成功;非200:失败
msg 请求失败时的message
time 服务端时间戳,单位:毫秒。用于同步时间
data 数据实体
code=200时,msg=登陆成功/修改成功/提交成功;如果需要Toast,可以直接使用msg。
code!=200时,msg=错误提示信息;比如login接口,”账号或密码错误”,”账号不存在”类似这些的业务提示文案放在msg字段,客户端直接Toast就可以了。不过需要提醒后端同学,错误提示不能自己觉的什么合适就提示什么,要按需求文档来提供,或和PM确认。

object类型数据

// json
{
  "code":200,
  "msg":"成功",
  "time":"1482213602000",
  "data": {
    "name":"张三",
    "age":"20"
  }
}  

// model.java
public class Model {
     public String name;
     public String age;
} 

array类型数据,正常情况下在解析json的时候,1.先解析code和msg,判断code==200的情况下继续解析data。2.将data下面的json串解析成当次请求需要的model数据结构。对于array类型的数据,即使只有1个list字段,也要保证data下是个完整的object结构,这样我们在用Gson解析model的时候,统一将data层级下的数据当object解析就可以了,不用区分object或array的情况。


                
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
详细设计说明书是一份详尽的技术文档,用于为开发人员和团队提供软件系统的设计细节。该文档包括系统的整体结构、各模块的设计原理、算法逻辑、数据结构、界面设计数据设计等方面的内容,以便开发人员可以有条不紊地进行开发工作。 接口是软件系统中不同模块之间进行通信和交互的桥梁,CSND作为一个技术交流平台提供了丰富的接口供开发者使用。在详细设计说明书中,可以对接口的使用进行详细的说明和解释,以确保开发人员对接口的功能、参数以及调用方式有完全的理解。 具体来说,在详细设计说明书中可以包括以下内容: 1. 接口的功能和作用:说明接口的具体功能和在系统中的作用,例如某个接口用于查询用户信息,另一个接口用于提交订单等。 2. 接口的参数和返回值:对于每个接口,列出详细的参数列表和返回值说明,包括参数类型、参数的作用和返回值的类型等。 3. 接口的调用方式:说明如何调用接口,包括接口的URL或函数名、请求方法(GET、POST等)、请求参数的传递方式等。 4. 接口的异常处理:对于可能出现的异常情况,详细说明异常的类型和处理方式,以及如何返回异常信息。 5. 接口的安全性和权限控制:如果接口涉及敏感数据或需要进行权限控制,详细说明接口的安全性措施和权限验证方式。 6. 接口间的调用关系:如果存在多个接口之间的调用关系,可以进一步说明接口之间的依赖关系和调用顺序。 通过这些详细的设计说明,开发人员可以更好地了解接口的使用方法和功能,避免误用和错误的调用,提高开发效率和软件质量。在使用CSDN作为交流平台时,可以将详细设计说明书分享给其他开发者,从而更好地协作和共同开发出高质量的软件系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值