如何在RESTful API中使用嵌套资源
How to use nested resources in RESTful API?
我是REST API的新手。请帮助我列出所有相册,按用户名排序,如果单击某个用户,则显示该用户的所有相册。这是我迄今为止编写的代码,但它并没有向我显示正确的内容。
这些是资源:
http://jsonplaceholder.typicode.com/users
http://jsonplaceholder.typicode.com/albums
这是我写的代码:
var app = angular.module('christmas', ['ngResource']);
app.controller('SecretOperations', ['$scope', '$resource', function($scope, $resource) {
$scope.loadPosts = function() {
var postingsResource = $resource('http://jsonplaceholder.typicode.com/albums/', {});
$scope.postings = postingsResource.query();
postingsResource.query().$promise.then(function(postings){
$scope.postings = postings;
});
var useri = $scope.postings.userId;
var numeUser = $resource('http://jsonplaceholder.typicode.com/users?id=idu', { idu : useri });
$scope.off = numeUser.query();
};
$scope.loadPosts();
}]);
<!DOCTYPE HTML>
<html ng-app="christmas">
<head></head>
<body >
<div class="row" ng-controller="SecretOperations">
<div class="col-md-3 text-center" ng-repeat="album in postings">
<div>
<p class="text-muted">Album title: {{ album.title }}</p>
<p ng-repeat="offof in off"> Author name : {{ offof.name }} </p>
</div>
</div>
</div>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular-resource.min.js"></script>
<script src="http://code.angularjs.org/1.2.13/angular.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-animate.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.14.3.js"></script>
<script src="app.js"></script>
</body>
</html>
感谢
您没有正确使用$resource
服务。我建议使用$promise
属性:
postingsResource.query().$promise.then(function (postings) {
$scope.postings = postings;
});
和
nameUser.get().$promise.then(function (user) {
$scope.authorn = user;
});
以后,请在在此提出标准问题之前仔细阅读文档:
https://docs.angularjs.org/api/ngResource/service/&dollar;资源
附言:在你的情况下,你可能需要将两个资源承诺链接起来,因为你需要第一个资源在第二个资源中的结果。
相关文章:
- EmberJS嵌套的资源模板不起作用
- EmberJS linkTo嵌套资源正在重新呈现父视图
- 嵌套资源出现问题
- Ember.js-隐藏嵌套资源中的父视图
- 在每个循环中的表单上使用嵌套资源和html类Rails Ajax
- 页面重新加载后,指向嵌套资源的链接将丢失活动类
- 在 AngularJS 中嵌套资源
- emberJS 2:用于操作的嵌套关系资源(更新和删除)
- 如何在RESTful API中使用嵌套资源
- 如何构造默认嵌套资源
- 嵌套的资源和路径
- JSONAPIAdapter:获取嵌套资源
- 是否有办法在ember REST适配器中支持嵌套资源?
- 如何在JS-Data资源上创建嵌套的自定义类操作?
- Ember.JS中嵌套资源的路由命名
- 在emberjs中不使用资源出口的嵌套路由
- React router:嵌套的资源
- 相同的控制器,相同的模板,相同的资源,但一个是嵌套状态,而另一个不是
- Ember.js:在路由中嵌套资源
- 嵌套的资源路由触发父资源路由