javascript - Web Api 2 的 Angular 资源设置

标签 javascript asp.net angularjs asp.net-web-api

所以我有我的 api Controller :

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});

关于javascript - Web Api 2 的 Angular 资源设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25184947/

相关文章:

javascript - 如何为非匿名函数的 getJson 回调添加额外的参数?

javascript - 同心圆中心的 Canvas 文本

javascript - Es6 : can't create objects from class

javascript - Kendo UI 虚拟化多选更改事件未触发

angularjs - 在 <div> 中渲染 HTML - AngularJS

javascript - 如何使用 ExtendScript 工具包使用终端命令

c# - 加载动态创建的 ASCX 控件(通过代码)

asp.net - 为什么我的 SqlDataSource 的 UpdateCommand 不起作用?

PHP开发框架及ide(如asp.net)

javascript - 如何让后退按钮返回 AngularJS 中的多个页面