Skip to content

Commit

Permalink
docs: 如果调用的接口不符合接口规范, 可以通过 transformResponse 机制适配接口数据以符合接口规范
Browse files Browse the repository at this point in the history
  • Loading branch information
ufologist committed Jul 29, 2019
1 parent ee4ba17 commit b0465e4
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
27 changes: 27 additions & 0 deletions README.md
Expand Up @@ -69,6 +69,33 @@ httpClient.send({
}).then(function([data, response]) {
console.log(data);
});

// 如果调用的接口不符合接口规范, 可以通过 transformResponse 机制适配接口数据以符合接口规范
httpClient.send({
url: 'https://domain.com/path/to/api',
transformResponse: [function(data) {
// 注意这里的 data 是原始数据, 即大部分情况都是 string 类型
// axios 默认的 transformResponse 是对 data 做了 JSON.parse
var _data = JSON.parse(data);

var standardData = {
status: 0,
data: null,
statusInfo: {
message: '',
detail: ''
}
};

standardData.status = _data.code;
standardData.data = _data.res;
standardData.statusInfo.message = _data.message;

return standardData;
}]
}).then(function([data, response]) {
console.log(data);
});
```

### hook 机制
Expand Down
2 changes: 1 addition & 1 deletion test/standard-http-client.test.js
Expand Up @@ -270,7 +270,7 @@ describe('适配 _data 参数', function() {

describe('适配接口数据以符合接口规范', function() {
// 注意这里的 data 是原始数据, 即大部分情况都是 string 类型
// 默认的 transformResponse 是对 data 做了 JSON.parse
// axios 默认的 transformResponse 是对 data 做了 JSON.parse
function transformResponse(data) {
var _data = JSON.parse(data);

Expand Down

0 comments on commit b0465e4

Please sign in to comment.