【发布时间】:2015-09-18 13:46:53
【问题描述】:
我正在使用 FOSRestBundle,此捆绑包为我生成路线并将这些路线复数化。例如,对 /users.json 的 GET 请求不同于对 /user/15.json
的 GET 请求值得注意的是,调用 /users/15.json 失败。
更多关于这个问题在这里https://github.com/FriendsOfSymfony/FOSRestBundle/issues/247
在我的 Angular 应用程序中,我使用 $resource 创建一个 RESTful 调用,URL 是一个模板,详见此处 https://docs.angularjs.org/api/ngResource/service/$resource
例如
$resource('http://example.com/:id.json')
或者
$resource('http://example.com/user/:id.json')
还有一个问题,$resource 似乎接受 REST 资源的单个 URL 模板,但由于 FOSRestBundle 的强制复数,我有多个。
我不认为破解 FOSRestBundle 是答案,那么我可以在 AngularJs 中使用 $resource 做什么来纠正这个问题?
【问题讨论】:
-
你可以用 $resource 做任何你想做的事,即: $resource('example.com/:mode:id.json', {id : '@id'}, query : {method:'GET', params: { mode:'users', id : ''}, isArray:true}),
-
@PetrAveryanov 但我的模式仍然需要为每个请求设置,具体取决于它是针对单个实体还是多个实体。简单地将
mode设置为users并没有帮助 - 我需要根据请求要求以某种方式动态设置它。 -
如果您不喜欢 FOSRestBundle 自动管理路线的方式,那么没有什么可以阻止您设置它们以按照您想要的方式工作,或者任何您不应该这样做的真正原因。
标签: angularjs symfony fosrestbundle