适配器文档优化一下

This commit is contained in:
RickCole21 2020-08-18 10:57:57 +08:00
parent 8f1a357af4
commit 59838f7365
1 changed files with 45 additions and 15 deletions

View File

@ -413,11 +413,31 @@ API 还支持配置对象类型
amis 的 API 配置,如果无法配置出你想要的请求结构,那么可以配置`requestAdaptor`发送适配器
**发送适配器**是指在接口请求前,对请求进行一些自定义处理,例如修改发送数据体、添加请求头、等等,基本用法是,获取暴露的`api`参数,并且对该参数进行一些修改,并`return`出去:
**发送适配器** 是指在接口请求前,对请求进行一些自定义处理,例如修改发送数据体、添加请求头、等等,基本用法是,获取暴露的`api`参数,并且对该参数进行一些修改,并`return`出去:
#### 字符串形式
##### 暴露的参数
如果在 JSON 文件中配置的话,`requestAdaptor`只支持字符串形式,如下:
发送适配器暴露以下参数以供用户进行操作:
- **api**:当前请求的 api 对象,一般包含下面几个属性:
- url当前接口 Api 地址
- method当前请求的方式
- data请求的数据体
- headers请求的头部信息
##### 字符串形式
如果在 JSON 文件中配置的话,`requestAdaptor`只支持字符串形式。
字符串形式实际上可以认为是外层包裹了一层函数,你需要补充内部的函数实现,并将修改好的 `api` 对象 `return` 出去:
```js
function (api) {
// 你的适配器代码
}
```
用法示例:
```schema:height="330" scope="body"
{
@ -454,7 +474,7 @@ return {
};
```
#### 函数形式
##### 函数形式
如果你的使用环境为 js 文件,则可以直接传入函数,如下:
@ -491,26 +511,36 @@ const schema = {
上面例子中,我们获取暴露的`api`对象中的`data`变量,并且为其添加了一个新的字段`foo`,并且一起返回出去就可以了,这样我们的请求数据体中就会加上我们这个新的字段。
`api`变量中一般会包含下面几个属性:
- **url**:当前接口 Api 地址
- **method**:当前请求的方式
- **data**:请求的数据体
- **headers**:请求的头部信息
你也可以使用`debugger`自行进行调试。
### 配置接收适配器
同样的,如果后端返回的响应结构不符合 amis 的[接口格式要求](#%E6%8E%A5%E5%8F%A3%E8%BF%94%E5%9B%9E%E6%A0%BC%E5%BC%8F-%E9%87%8D%E8%A6%81-),而后端不方便调整时,可以配置`adaptor`实现接收适配器
**接受欧适配器**是指在接口请求后,对响应进行一些自定义处理,例如修改响应的数据结构、修改响应的数据等等。
**接收适配器** 是指在接口请求后,对响应进行一些自定义处理,例如修改响应的数据结构、修改响应的数据等等。
例如:接口正确返回的格式中,会返回`"code": 200`,而 amis 中,接口返回格式需要`"status": 0`,这时候就需要接收适配器进行调整结构。
#### 字符串形式
##### 暴露的参数
如果在 JSON 文件中配置的话,`adaptor`只支持字符串形式,如下:
接收适配器器暴露以下参数以供用户进行操作:
- **payload**:当前请求的响应 payload即 response.data
- **response**:当前请求的原始响应
##### 字符串形式
如果在 JSON 文件中配置的话,`adaptor`只支持字符串形式。
字符串形式实际上可以认为是外层包裹了一层函数,你需要补充内部的函数实现,并将修改好的 `payload` 对象 `return` 出去:
```js
function (payload, responsee) {
// 你的适配器代码
}
```
用法示例:
```json
{
@ -545,7 +575,7 @@ return {
};
```
#### 函数形式
##### 函数形式
如果你的使用环境为 js 文件,则可以直接传入函数,如下: