zoukankan      html  css  js  c++  java
  • 接口文档设计

    接口文档设计分为两部分:

    一、对外接口设计规范,

    1. 提供完整的接口文档
    2. 提供接口调用的代码Demo

    示例如下:

    请求的基本参数

    参数

    参数名称

    类型

    (长度范围)

    参数说明

    是否可为空

    样例

    基本参数

    接口名称

    String(64)

    不可空

    send_goods_confirm_by_platform

    合作者身份ID

    String(16)

    可空

    2088001159940003

    参数编码字符集

    String(10)

    不可空

    GBK

    签名

    String(64)

    不可空

    e8qdwl9caset5zugii2r7q0k8ikopxor

    签名方式

    String(10)

    不可空

    MD5

    页面跳转同步返回页面路径

    String(1000)

    可空

    备注

    String(1000)

    可空

    同步返回时,需要的基本参数

    参数

    参数名称

    类型

    (长度范围)

    参数说明

    是否可为空

    样例

    基本参数

    成功标识

    String(1)

    不可空

    T

    合作者身份ID

    String(16)

    可空

    2088001159940003

    参数编码字符集

    String(10)

    不可空

    GBK

    签名

    String(64)

    不可空

    e8qdwl9caset5zugii2r7q0k8ikopxor

    签名方式

    String(10)

    不可空

    MD5

    返回错误码

    String(30)

    可空

    PARTNER_ID_NOT_EXIST

    返回错误原因

    String(200)

    可空

    合作方Id不存在

    备注

    String(1000)

    可空

    二、内部接口规范,

    1. 发布façade接口jar包,包含了APIrequestresponse
    2. 提供接口对应的response返回码说明,及接口所需属性枚举常量定义

    示例如下:

    接口名称:

    XXXXXXXXXXXXXXX

    请求参数

    属性

    描述

    是否必填

    字段类型

    Y

    String(32)

    Y

    String(32)

    Y

    String(32)

    Y

    String(32)

    Y

    String(32)

    Y

    Money

    N

    String(32)

    N

    String(32)

    N

    String(2)

    N

    String(32)

    N

    String(32)

    N

    String(64)

    N

    String(256)

    N

    String(12)

    N

    String(64)

    N

    String(64)

    N

    String(1)

     

    String(1)

    N

    String(256)

    N

    String(2000)

     

     

     

     

     

    返回参数

    属性

    描述

    是否必填

    字段类型

    返回码

    Y

    String

    返回信息

    N

    String

    扩展信息

    N

    String

     

    开发规范

    1. 版本控制git

    2. 开发流程git flow

    接口

    请求方式url动作中文说明
    GET /resources/ list 列表
    POST /resources/ create 创建
    GET /resources/:id retrieve 详细
    PUT /resources/:id update 更新
    PATCH /resources/:id partial_update 部分更新
    DELETE /resources/:id destroy 删除

    数据

    1. 请求支持form-date,json,x-www-form-urlencode

    2. 返回格式统一为json

    3. 一个请求对应一个serializer

    错误

    1. 错误信息包含在返回内容里

    2. 不同的错误对应不同的错误信息代码

    3. http错误码按照标准用法使用

    认证

    1. jwt

    2. token

    3. oauth2

    权限

    1. 以中间件形式作为权限鉴别插件,根据http请求格式直接判断权限

    2. 用户登录成功时,将用户信息与权限信息缓存保证效率

    日志

    1. 日志以中间件形式提供

    2. 根据业务需求氛围入库日志与普通日志

    文档(待完善)

    根据上面的接口格式写文档

    {
      "resources": {
        "list": {
          "params": {},
          "response": {}
        },
        "create": {
          "request": {},
          "response": {}
        },
        "retrieve": {
          "response": {}
        },
        "update": {
          "request": {},
          "response": {}
        },
        "partial_update": {
          "request": {},
          "response": {}
        },
        "destroy": {}
      }
    }

    测试

    业务所需接口测试覆盖率100%

    部署

    • docker

    • docker-compose

    • docker-machine

    • docker-swarm

    服务器资源监控

     

    接口设计规范

     

     

     

     

     

     

     

     

     

     

    浙江大学电子服务研究中心

    首先,在阅读本文档前请务必确认您已经对面向对象的基本概念有所了解。

    根据目前实验室所使用的系统架构,制定本文档,主要阐述一些service层和DAO层接口设计的基本原则和规范要求。

    总体规范

    1. 接口中方法的返回不能为void,至少也要通知调用者,操作是否成功
    2. 接上条,凡是返回操作是否成功的方法,返回类型要设置为int而不是boolean
    3. 方法名只能使用英文,尽量简单易懂,驼峰规则,首字母小写,不得含有数字
    4. 方法名最好使用动宾结构。
    5. 接口中所有方法都必须写注释
    6. 接口中所有方法都必须是public
    7. 每个方法的位置应当是明确的,不要将不属于某接口的方法放入该接口中,也不要写功能重复的方法

    service层接口规范

    service层是每个模块逻辑处理的位置,一个service对应一个action和若干个DAOservice中每一个方法都来自页面功能的需求,所有service层的接口都必须继承自BaseService,所有方法都应当以BaseForm(或其子类)的对象作为参数,根据需要可以添加PageInfo的对象,其他参数一般不要添加。

    以下方法是在BaseService中已经声明的:

    /**

     * 添加一条新数据

     * @return 消息编码

     */

    public int addData(BaseForm thisForm);

    /**

     * 编辑一条数据

     * @return 消息编码

     */

    public int editData(BaseForm thisForm);

    /**

     * 删除一条或多条数据

     * @return 消息编码

     */

    public int removeData(BaseForm thisForm);

    /**

     * 返回一条数据,并用于页面展示

     * @return BaseForm 

     */

    public BaseForm showData(BaseForm baseForm);

    实例:

    /**

     * 分页显示照片

     */

    public List<DataPhoto> getDataPhotoByConditionsInPage(PageInfo pageInfo, DataPhotoForm dataPhotoForm);

    /**

     * 获取某个相册下的所有照片

     */

    public List<DataPhoto> getAllDataPhoto(DataPhotoForm dataPhotoForm);

    /**

     * 删除某个相册下的所有照片

     */

    public int removeDataPhotoByGroup (DataPhotoForm dataPhotoForm);

    /**

     * 获取某相册相片及回复

     */

    public Map<Integer, List<DataPhotoReply>> getDataPhotoAndReplyByGroup (DataPhotoForm dataPhotoForm);

    DAO层接口规范

    DAO层的作用是操作数据库,每一个接口对应数据库中的一个表,可以被多个service调用。DAO层接口中所有的方法都与数据库的“增删改查”相联系。所有的DAO层接口都必须继承自BaseDAO

    以下是BaseDAO中已经声明的方法:

    /**

     * 将一个Model添加进数据库

     */

    public int insertModel(BaseModel model);

    /**

     * 更新Model

     */

    public int updateModel(BaseModel model);

    /**

     * 删除一条或多条数据

     */

    public int deleteModels(int[] ids);

    实例:

    /**

     * 分页显示照片

     */

    public List<DataPhoto> getDataPhotoByConditionsInPage(PageInfo pageInfo, DataPhoto dataPhoto);

    /**

     * 获取某个相册下的所有照片

     */

    public List<DataPhoto> getAllDataPhotoByGroup(DataPhoto dataPhoto);

    /**

     * 删除某个相册下的所有照片

     */

    public int deleteDataPhotoByGroup(DataPhoto dataPhoto);

    /**

     * 获取相片及其回复

     */

    public Map<Integer, List<DataPhotoReply>> getDataPhotoAndReplyByGroup (DataPhoto dataPhoto);

    /**

     * 插入一条数据后,立刻返回该条数据id

     */

    public int getPhotoIdRightNow();

     

     

  • 相关阅读:
    宝贝,对不起
    转帖]四川人逆境中的幽默(整理)
    见闻大量急救车急速行驶有感
    5月16日当代第一IT诗人代腾飞17XIE在线访谈(转)
    陈风莲(帮别人名字作诗)
    愉快且卓有成效:培养你与人相处的能力
    夜半再次遭遇地震
    请允许我像亲人一样去爱你
    DiscoveryService.getRemoteAdvertisements是否会获得本地通告?
    windowClosed事件不响应
  • 原文地址:https://www.cnblogs.com/erma0-007/p/8655001.html
Copyright © 2011-2022 走看看