UNPKG

1.96 kBMarkdownView Raw
1# apis-man
2
3[![npm version](https://img.shields.io/npm/v/apis-man.svg)](https://www.npmjs.com/package/apis-man)
4[![license](https://img.shields.io/npm/l/apis-man.svg)](https://www.npmjs.com/package/apis-man)
5
6基于 [axios](https://github.com/axios/axios) 封装的接口管理方案
7
8## Features
9
10- 接口统一管理
11- 可配置多个接口服务
12- 支持 restful 接口
13
14## Installing
15
16```
17$ npm install apis
18```
19
20## Syntax
21
22```javascript
23new Apis(serverMap, apiMap);
24```
25
26## Parameters
27
28#### serverMap
29
30- serverMap 是服务配置的 map 对象
31- 服务的参数配置同 axios 中的 [config](https://github.com/axios/axios#request-config) 部分
32- default 为自定义属性,当 default 为 true 时,api 会使用它做为默认服务配置
33
34```json
35{
36 "baseServer": {
37 "default": true,
38 "baseUrl": "https://base.apis.com"
39 },
40 "authServer": {
41 "baseUrl": "https://auth.apis.com"
42 },
43 "orderServer": {
44 "baseUrl": "https://base.apis.com/order"
45 }
46}
47```
48
49#### apiMap
50
51- apiMap 是接口配置的 map 对象
52- 接口的参数配置同 axios 中的 [config](https://github.com/axios/axios#request-config) 部分,会覆盖服务配置中的参数
53- server 为自定义属性,表示使用哪个服务配置,当 server 为 null 时,表示使用默认服务配置
54
55```json
56{
57 "getBaseInfo": {
58 "method": "get",
59 "url": "/info"
60 },
61 "postOrder": {
62 "server": "orderServer",
63 "method": "post",
64 "url": "/order/:id"
65 }
66}
67```
68
69## Custom Config
70
71#### `rest`:url 中 restful 参数的值
72
73```javascript
74// url
75/order/:id
76
77// rest
78rest: {
79 id: 123
80}
81
82// result
83/order/123
84```
85
86## Interceptors
87
88## Usage
89
90```javascript
91import Apis from "apis-man";
92import serverMap from "./serverMap";
93import apiMap from "./apiMap";
94const apis = new Apis(serverMap, apiMap);
95
96apis.getTest({
97 params: {
98 color: "green"
99 }
100});
101
102apis.postTest({
103 rest: {
104 id: 3
105 },
106 data: {
107 name: "fred"
108 }
109});
110```
111
112## License
113
114MIT