【问题标题】:Routing from angular with atribute routing使用属性路由从角度路由
【发布时间】:2016-09-09 20:15:41
【问题描述】:

使用 Angular 我正在尝试使用 url 调用 Web api 控制器

$http({ 方法: 'GET', url: '/ninja/clans/' })

我的路由有 config.MapHttpAttributeRoutes();在 WebApiConfigs 注册方法中。

应该从 angular 接收请求的控制器类在整个 clas 上具有属性 [RoutePrefix("ninja")],并且应该响应请求的 'clans' 部分的方法具有属性 [Route(" clans")] 并且该方法称为 Clans()。

Controller.cs

    [Route("clans")]
    public Object Clans()
    {
        var returnList =  (from c in NinjaApi.GetAllClans()
                select new
                {
                    name = c.ClanName,
                    id = c.Id
                }).ToList();

        return returnList;
    }

尝试发出请求时出现此错误:

{"Message":"请求无效。","MessageDetail":"参数字典包含方法'System.String Get的不可空类型'System.Int32'的参数'id'的空条目(Int32)' in 'NinjaWeb.Controllers.NinjaController'。可选参数必须是引用类型、可空类型或声明为可选参数。"}

如何将请求路由到名为 clans 的方法?

【问题讨论】:

  • 能否将您的控制器代码添加到问题中?
  • 完成!感谢您的宝贵时间。

标签: angularjs asp.net-web-api asp.net-mvc-routing


【解决方案1】:

我需要将属性 [HttpGet] 添加到接收调用的方法中。

【讨论】:

    猜你喜欢
    • 2015-06-13
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多