如何动态填充AngularJS$HTTP服务用于HTTP请求的URL字符串中定义的占位符?
var urls = {
GET_USER: '/api/v1/group/{groupId}/user/{userId}',
GET_USER_POSTS: '/api/v1/group/{groupId}/user/{userId}/posts',
GET_USER_POST: '/api/v1/group/{groupId}/user/{userId}/post/{postId}'
};
function getUser(groupId, userId) {
var url = urls.GET_USER; // build URL with passed params somehow
return $http.get(url);
}
通用函数,它接受第一个参数作为带有占位符的URL,并使用传递的参数构建URL字符串
function buildUrl(url) {
if (arguments.length > 1) {
var args = arguments, i = 1;
return url.replace(/{w+?}/g, function () {
return args[i++];
});
}
return url;
}
用法:
var url = buildUrl(urls.GET_USER, groupId, userId);