mirror of
https://gitee.com/baidu/amis.git
synced 2024-12-02 11:58:10 +08:00
适配器文档优化一下
This commit is contained in:
parent
0461e01fa5
commit
8b92422f48
@ -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 文件,则可以直接传入函数,如下:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user