快捷搜索:  汽车  科技

接口编程要遵循的规范(接口设计之接口规范)

接口编程要遵循的规范(接口设计之接口规范)使用资源的复数形式,有前缀的要根据业务提前规划好。路径 可选/必选方法 HTTP.METHOD(GET/POST/PUT/DELETE)

接口编程要遵循的规范(接口设计之接口规范)(1)

作为一个程序猿,写接口是家常便饭。谁还不会写REST接口呀?然而接口人人会,写法各不同。但基本遵循几个条件,只要你意识到,平时注意,妈妈再也不用担心我的接口了,So Easy!

入参

参数校验

参数类型

可选/必选

方法

HTTP.METHOD(GET/POST/PUT/DELETE)

路径

使用资源的复数形式,有前缀的要根据业务提前规划好。

接口前缀

  • B 端:(/business/)
  • C 端:(/client/)
  • RPC调用:(/provider/)
  • 通用接口:(/common/)

命名规范

API URI 设计最重要的一个原则: nouns (not verbs!) ,名词(而不是动词)。

POST & PUT 方法的接口统一mediaType类型为:application/json;charset=UTF-8

| 方法 | URL | 功能 |

|--------|-----------------|------------------|

| GET | /users | 获取用户列表,分页 |

| GET | /users/1 | 获取 id 为 1 的用户|

| POST | /users | 创建一个用户 |

| PUT | /users/1 | 更新 id 为 1 的用户|

| DELETE | /users/1 | 删除 id 为 1 的用户|

响应数据(Result\ResultStatusEnum)

Result

{

"code": 0

"data": {}

"msg": "string"

}

ResultStatusEnum

@Getter

public enum ResultStatusEnum {

// 1xxxxx 系统层面

SYSTEM_BUSY(100001 "系统繁忙 请稍候再试")

// 2xxxxx 业务层面

ARGS_INVALID(200001 "参数无效")

// 3xxxxx第三方接口异常

ALIPAY_ERROR(300001 "支付宝支付异常")

// 4xxxxx Runtime异常

UNSUPPORTED_ENCODING(400001 "不支持的编码")

SUCCESS(0 "成功")

ERROR(-1 "失败");

/**

* 类型码

*/

private Integer code;

/**

* 信息

*/

private String msg;

ResultStatusEnum(Integer code String msg) {

this.code = code;

this.msg = msg;

}

}

猜您喜欢: