我有一个带有URI作为/ user / user-id的GET端点。 '用户ID'是这里的路径变量。
如何在发出GET请求时设置路径变量?
这就是我的尝试: -
$http.get('/user/:id',{
params: {id:key}
});
不是替换路径变量,而是将id作为查询参数附加。
即我的调试器将请求URL显示为'http://localhost:8080/user/:id?id=test'
我预期的已解决网址应该像' http://localhost:8080/user/test'
答案 0 :(得分:14)
$ http&#39s的params对象用于查询字符串,因此传递给params的键值对将作为查询字符串键和值输出。
$http.get('/user', {
params: { id: "test" }
});
成为:http://localhost:8080/user?id=test
如果您需要http://localhost:8080/user/test
,可以:
自己构建网址,
$http.get('/user/' + id);
或者,使用$ resource(特别是$ resource.get https://docs.angularjs.org/api/ngResource/service/ $ resource)。这有点清洁。
答案 1 :(得分:1)
为什么不是这样的?:
var path = 'test';
$http.get('/user/' + path, {});