Web全栈应用之旅-基础篇(一)前后端接口

541 阅读2分钟

banner窄.png

铿然架构  |  作者  /  铿然一叶 这是铿然架构的第 10 篇原创文章

相关阅读:

萌新快速成长之路
如何编写软件设计文档
JAVA编程思想(一)通过依赖注入增加扩展性
JAVA编程思想(二)如何面向接口编程
JAVA编程思想(三)去掉别扭的if,自注册策略模式优雅满足开闭原则
JAVA编程思想(四)Builder模式经典范式以及和工厂模式如何选?
Java编程思想(七)使用组合和继承的场景
JAVA基础(一)简单、透彻理解内部类和静态内部类
JAVA基础(二)内存优化-使用Java引用做缓存
JAVA基础(三)ClassLoader实现热加载
JAVA基础(四)枚举(enum)和常量定义,工厂类使用对比
JAVA基础(五)函数式接口-复用,解耦之利刃
Seata源码(一)初始化
Seata源码(二)事务基础对象
Seata源码(三)事务处理类结构和流程
Seata源码(四)全局锁GlobalLock
Seata源码(五)Seata数据库操作
Seata源码(六)Seata的undo日志操作
Seata源码(七)Seata事务故障处理
Seata源码(八)Seata事务生命周期hook
Seata源码(九)TCC核心类和处理逻辑
Seata源码(十)RM接收到请求后的调用过程
Seata源码(十一)TC接收到请求后的处理过程\


一、前后端接口设计

前后端接口设计主要考虑以下几点:

二、接口内容

接口内容包括:

  1. 鉴权信息,如用于身份识别的token。
  2. 公共信息,例如用户ID,项目ID等需要传给后端的公共数据。
  3. 错误信息,如错误码,错误描述。
  4. 业务数据,业务使用到的数据,如订单,产品。

三、数据承载

数据承载指接口数据是放到HTTP消息头还是HTTP消息体当中,一些公共的信息如鉴权token,用户ID,项目ID可以考虑放到消息头中,应答消息,业务数据,异常可以考虑放到消息体中。
按照这个原则,可设计一个公共的应答对象:

{
    resultCode,  --标识成功还是失败
    errorCode,
    errorMsg,
    domainObject
}

四、数据格式

JSON格式容易阅读,并且从字符串到对象的转换很方便,因此基本上数据格式非它莫属。

五、异常约定

异常约定主要考虑以何种方式告知前端异常?例如是通过HTTP状态码告知还是通过接口对象返回的结果码告知,HTTP状态码方式的好处是监控异常比较方便,直接可以取到状态码,而接口对象返回的结果码则还需要解析。
个人觉得都可以,只要约定好就行。

end.