API 集群 - 为默认端点使用自定义组配置
API Cluster - Using Custom Group Config for Default Endpoint
我正在使用 Api 集群库。当我有时尝试创建多个 endpoint group
时,我可能只想使用默认 endpoint
模式,但配置选项可能不同。
Scenario: if I don't mention 'endpoint' in group then value should be taken from default 'endpoint' pattern
请看一下这段代码click here
问题在第 164 行 (ApiCluster.js)
ApiCluster.generated = ApiCluster.data.apiUrls[groupName][name];
正在尝试从 v1
组获取 'empDetails'。
ApiCluster.generated = ApiCluster.data.apiUrls['v1']['empDetails']
修复方法是将行更改为,
ApiCluster.generated = ApiCluster.data.apiUrls[groupName] && ApiCluster.data.apiUrls[groupName][name] ? ApiCluster.data.apiUrls[groupName][name] : ApiCluster.data.apiUrls[ApiCluster.data.defaultGroupName][name];
因此,如果 属性 在请求的组中不可用,那么它将从默认值读取它。
这是 url 修复:
http://plnkr.co/edit/ys6btxjYH0xqh1kGuOVf?p=preview
这是 API Cluster 1.0.5
JS 库中的限制之一。
因为 API Cluster 1.0.5
期望 addAnother
/ defaults
方法参数需要以下三个选项,这是强制性的。
- 名字
- 配置
- 端点
Defaults / addAnother method creates the endpoint groups, each group is independent
按照下面的方法尝试解决您的问题。
ApiCluster
.defaults({
name: 'mydefault',
config: {
'employee': 'emp',
'details': 'defaultDetails',
'timesheet': 'timesheet'
},
endpoints: {
"empDetails": "_employee_/_details_/:empId/profile"
}
})
.addAnother({
name: 'v1',
config: {
'employee': 'emp',
'details': 'v1Details',
'timesheet': 'timesheet'
},
endpoints: {
"empDetails": "_employee_/_details_/:empId/profile"
}
});
var empDetailURL = ApiCluster
.use('v1')
.get('empDetails')
.arg({
'empId': 1000
})
.query({
'confirm': 'yes',
'testAccount': 'yes'
})
.url();
我正在使用 Api 集群库。当我有时尝试创建多个 endpoint group
时,我可能只想使用默认 endpoint
模式,但配置选项可能不同。
Scenario: if I don't mention 'endpoint' in group then value should be taken from default 'endpoint' pattern
请看一下这段代码click here
问题在第 164 行 (ApiCluster.js)
ApiCluster.generated = ApiCluster.data.apiUrls[groupName][name];
正在尝试从 v1
组获取 'empDetails'。
ApiCluster.generated = ApiCluster.data.apiUrls['v1']['empDetails']
修复方法是将行更改为,
ApiCluster.generated = ApiCluster.data.apiUrls[groupName] && ApiCluster.data.apiUrls[groupName][name] ? ApiCluster.data.apiUrls[groupName][name] : ApiCluster.data.apiUrls[ApiCluster.data.defaultGroupName][name];
因此,如果 属性 在请求的组中不可用,那么它将从默认值读取它。
这是 url 修复:
http://plnkr.co/edit/ys6btxjYH0xqh1kGuOVf?p=preview
这是 API Cluster 1.0.5
JS 库中的限制之一。
因为 API Cluster 1.0.5
期望 addAnother
/ defaults
方法参数需要以下三个选项,这是强制性的。
- 名字
- 配置
- 端点
Defaults / addAnother method creates the endpoint groups, each group is independent
按照下面的方法尝试解决您的问题。
ApiCluster
.defaults({
name: 'mydefault',
config: {
'employee': 'emp',
'details': 'defaultDetails',
'timesheet': 'timesheet'
},
endpoints: {
"empDetails": "_employee_/_details_/:empId/profile"
}
})
.addAnother({
name: 'v1',
config: {
'employee': 'emp',
'details': 'v1Details',
'timesheet': 'timesheet'
},
endpoints: {
"empDetails": "_employee_/_details_/:empId/profile"
}
});
var empDetailURL = ApiCluster
.use('v1')
.get('empDetails')
.arg({
'empId': 1000
})
.query({
'confirm': 'yes',
'testAccount': 'yes'
})
.url();