rest - 如何定义不使用 REST GET 查询参数的 Angular 资源?

标签 rest angularjs

目前我在 Angular 中定义了这样一个资源:

Users: $resource(APIBASEROUTE +'/users/:_id', {_id: '@_id'})

当我使用此代码调用用户时:

$scope.user = ayApi.Users.get({id:$routeParams.userId});

请求作为查询参数发送,如下所示:

http://localhost:3000/api/v1/users?id=526eff826a6100fb22000000

但是它需要像这样访问 REST 服务器:

http://localhost:3000/api/v1/users/526eff826a6100fb22000000

我如何让 Angular 这样做?

最佳答案

我想问题出在参数名称的不一致上。

在定义中你有:{_id:'@_id'}),它应该是{id...

或者在你的调用中它应该带有下划线

$scope.user = ayApi.Users.get({_id:$routeParams.userId});

任何其他参数(未映射到资源定义中) 都被视为查询字符串参数。这就是为什么 Angular 决定将您的 id 附加为查询字符串部分的原因。它不是_id

关于rest - 如何定义不使用 REST GET 查询参数的 Angular 资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19992615/

相关文章:

javascript - AngularJS 服务依赖注入(inject)错误

javascript - 如何在 forEach 之后运行 lastTask

javascript - 如何从 Node.js 服务器读取 json 响应?

java - Spring Boot @ManyToMany 未显示在 JSON 中

ios - 在 Alamofire 中使用 get 请求时,如何快速修复无效的 JSON 响应?

java - 将结果集数据绑定(bind)到Getter Setter方法形成JSON字符串

ajax - 是访问控制允许来源 : * unsafe?

javascript - EmberJS 网址格式

javascript - 我的函数读取条形码后如何单击?

jquery - AngularJS - Jquery slider 加载