所以我有我的api控制器:

public BlogController
{
    public Blog[] Get()
    {
        return context.Blogs.ToArray();
    }

    public Blog Get(Guid id)
    {
        return context.Blogs.FirstOrDefault(b => b.Id.Equals(id));
    }
}


如何设置我的Angular资源来模仿呢?

我从这个开始:

angular.module('spaTestApp.home.services', [])
    .factory('blogRepository', ['$resource', function($resource) {
            return {
                get: function() {
                    return $resource('/api/Blogs').query();
                }
            }
        }
    ]);


然后,我想我可能需要这样做:

angular.module('spaTestApp.home.services', [])
        .factory('blogRepository', ['$resource', function($resource) {
            return $resource('/api/Blogs/:id', {}, {
                query: {method:'GET', params:{id:'WHAT_GOES_HERE'}, isArray:true}
            });
        }]);


我不完全确定WHAT_GOES_HERE中有什么内容,然后如何调用get,我想是这样的:

blogRepository.query($selectedId);

最佳答案

您不需要在资源定义时提供选定的值,因此可以将其从$resource配置对象中删除。

而是当您调用方法时

blogRepository.query({id:$selectedId});

07-24 09:46
查看更多