# 创建接口
>完善好相应的表单数据后,提交保存即可,如果接口控制器不存在,系统会自动为你创建接口控制器文件(需要你自行完善业务逻辑代码)。
### 1.接口基本配置
![](/upload/image/a3/491c026629b959c3ee7aaf4762e4a8f4250dc9.jpg)
接口版本:同一接口可以通过不同版本号来对接口做升级迭代。
接口分组:当接口太多时,可以通过接口分组进行标签化管理。
接口地址:接口地址需区分模块或插件,具体请参考以下两种写法:
>模块接口格式:模块名/`控制器名`/方法名
插件接口格式:plugin/插件名/`控制器名`/方法名
`控制器名`支持分层,请用英文符号`·`分割,示例:/cms/news.user/lists
需要登录令牌:选择是,在访问接口时,必须传入`user_token`参数。
需要签名验证:选择是,在访问接口时,必须传入`sign` 参数。
请求参数过滤:选择是,在访问接口市,将对所有请求参数进行校验,具体校验规则取决于您对接口请求参数的配置。
### 2.请求示例
>请求示例可根据不同语言创建不同的请求示例代码。
![](/upload/image/6b/cbe6b72b551a2ff6284b20942afc2cb8ae7d46.jpg)
#### 一次性请求多个接口示例
请求地址:/api/**[版本号]**/batch
请求方式:POST
| 参数 | 类型 | 必须 | 默认 | 说明 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| router | array | Y | | 接口路由,路由格式:{"模块/控制器/方法[-1]":{"参数名": "参数值",....}} |
| sign | string | N | | 接口签名,取决于 router 里面的接口是否有需要签名的接口 |
| timestamp | string | N | | 时间戳,格式:YY-MM-DD HH:ii:ss |
请求报文示例:
```json
{
"router": {
"cms/router/lists": {
"cid": 26
},
// 同一个接口多次请求,请用“-”分割
"cms/router/lists-2": {
"cid": 34
},
"cms/router/detail": {
"id": 124
}
}
}
```
### 3.响应示例
> 响应示例仅支持JSON格式的展示。
![](/upload/image/15/cde7652f3d37b7f68106b574d8f891f006e174.jpg)
### 4.错误码维护
> 我们可以通过错误码维护,明确每个错误提示的解决方案。
![](/upload/image/0b/d4e4a5662544fd46c732b2508ec641f4226128.jpg)
### 5.创建接口请求参数
![](/upload/image/f0/4958731afb421ee711c22ffee726b13707c2b9.jpg)
![](/upload/image/77/e8b3a1f5e0d0c3d4456b62110c5d867fb64fb4.jpg)
### 6.创建接口响应参数
![](/upload/image/f0/4958731afb421ee711c22ffee726b13707c2b9.jpg)
![](/upload/image/3f/836275f8b9e19a4f71cdc7a77f34d2fd0dd179.jpg)
# 接口访问授权
>如果接口无需授权,可忽略此步骤。
### 1.创建应用并设置接口访问权限
![](/upload/image/a2/03a4c9e1ddf142a21ce1e17fcd5fe749a89a99.jpg)
![](/upload/image/da/d7cf1ccf680b4371a7961f80ac603ef2fb962d.jpg)