web api Route特性(注解)不起作用

在Web Api 的Controller里有两个Action

 public string  Get(string order, int skip, int take)
        {
            
            return "test";
        }
        [Route("GetButtons")]
        [HttpGet]
        public string GetButtons()
        {
            
            return "button";
        }

这是我的请求地址:  http://localhost:51855/Api/BlackCar/GetButo,

明显我的Action名字写错了,但还是能够匹配到 GetButtons(),经过多次测试,只要不带参数,无论Action的名字写成什么,甚至不写Action都是可以匹配到 GetButtons().但是带上3个参数,就可以匹配到Get(string order, int skip, int take).很让我惊讶.这是问题,貌似Route特性不起作用.

最后终于解决了:

经过同事的查看,说我的命名空间引错了.

web api的应该是 using System.Web.Http;

而我引用的是 using System.Web.Mvc;

事情的根源是,我新建Controller的时候选的是这个

真是基础薄弱+粗心啊.

记录一下   ....  呲牙.jpg

时间: 2024-10-08 07:55:51

web api Route特性(注解)不起作用的相关文章

Web Api Route 注册要放在 Mvc Route 注册前

今天想研究一下Web Api,写了一个测试Api,打开网站后浏览一下,可是却提示找不到方法,刚开始以为哪里配置错了,可找了半天也没见. 因为我是在一个现有Mvc站点做的Demo,所以打算新建一个Mvc网站,再试一下,新站点是正常的,对比一下Global文件,发现WebApiConfig和RouteConfig顺序不一样. 如果把新站点的RouteConfig也放在WebApiConfig之前,同样提示找不到方法.看来这两个配置有关联呀. ? 1 2 WebApiConfig.Register(G

Net Web Api Route

Asp.Net Web Api Route 在目前的主流架构中,我们越来越多的看到web Api的存在,小巧,灵活,基于Http协议,使它在越来越多的微服务项目或者移动项目充当很好的service endpoint. 问题 以Asp.Net Web Api 为例,随着业务的扩展,产品的迭代,我们的web api也在随之变化,很多时候会出现多个版本共存的现象,这个时候我们就需要设计一个支持版本号的web api link,比如: 原先:http://www.test.com/api/{contro

ASP.NET Web API实践系列04,通过Route等特性设置路由

ASP.NET Web API路由,简单来说,就是把客户端请求映射到对应的Action上的过程.在"ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置"一文中,体验了通过模版.惯例.HTTP方法来设置路由,这种做法的好处是把路由模版统一放在了App_Start文件夹下的WebApiConfig类中,方便管理,但缺点是不够灵活. REST把一切都看成资源,有时候,一个资源连带子资源,比如Customer和Orders密切关联,我们可能希望输入这样的请求:cust

Web Api 随笔录-Route 路由

前记:呃哼,尽管是第一篇,个人学习记录用,并且我写东西也不太习惯带上各种专业名词,只因为记不住,不多说直接上内容. Web Api在ASP.NET上有不少的版本形式,就拿其中的路由部分来讲,我在用的时候是微软的MVC提供的. 所用工具: Visual Studio 2013 所需命名空间: System.Web.Routing; System.Web.Mvc; 所需NuGet管理包: ASP.NET MVC       (微软提供) 所用到的部分 特性,Global.ascx初始化文件 首先要先

ASP.NET Web API 特性

1.先进的 HTTP 编程模型: 使用新的强类型的 HTTP 对象模型直接操作 HTTP 请求和响应, 在 HTTP客户端使用相同的编程模型和 HTTP 管道: 2.支持路由: Web API 完整支持 ASP.NET 路由, 包括路由参数和约束. 此外, 到动作的映射支持约定, 从此将不再需要向类或者方法添加类似于 [HttpPost] 之类的属性: 3.内容协商: 客户端与服务端可以一起决定 API 返回数据的格式. 默认支持 XML, JSON 以及 Form URL-Encoded 格式

新作《ASP.NET Web API 2框架揭秘》开始全面接受预订

我觉得大部分人都是"眼球动物",他们关注的往往都是目光所及的东西.对于很多软件从业者来说,他们对看得见(具有UI界面)的应用抱有极大的热忱,但是对背后支撑整个应用的服务却显得较为冷漠.如果我们将整个"生态系统"比喻成海面上漂浮的冰山,我们所能看的到的只是露出水面的冰山一角,水面之下才是一个"庞然大物". 提到服务,我们自然想到Web Service.但是传统意义上的Web Service却有点名不副实,因为支撑它的其实不是Web而是SOAP,承载

ASP.NET Web API 路由对象介绍

ASP.NET Web API 路由对象介绍 前言 在ASP.NET.ASP.NET MVC和ASP.NET Web API这些框架中都会发现有路由的身影,它们的原理都差不多,只不过在不同的环境下作了一些微小的修改,这也是根据每个框架的特性来制定的,今天我们就来看一看路由的结构,虽然我在MVC系列里写过路由的篇幅不过在这里是Web API 路由对象介绍. ASP.NET Web API路由.管道 ASP.NET Web API 开篇介绍示例 ASP.NET Web API 路由对象介绍 ASP.

ASP.NET Web API路由系统:路由系统的几个核心类型

虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道的核心部分(定义在程序集System.Web.Http.dll中)已经移除了对System.Web.dll程序集的依赖,实现在ASP.NET Web API框架中的URL路由系统亦是如此.也就是说,ASP.NET Web API核心框架的URL路由系统与ASP.NET本身的路由系统是相对独立的.但是当我们采用基于Web Host的方式(定义在程序集System.Web.H

ASP.NET Web API 2框架揭秘

ASP.NET Web API 2框架揭秘(.NET领域再现力作顶级专家精讲微软全新轻量级通信平台) 蒋金楠 著   ISBN 978-7-121-23536-8 2014年7月出版 定价:108.00元 732页 16开 编辑推荐 √ 这是一本注重实证的书,功能各异.多达120个可供下载的示例,大量最佳实践与实用性扩展,可直接用于解决实际开发问题. √ 全新的学习方法,通过完整论证来实现彻底的融会贯通. √ 本书可以作为讲设计架构的书来读,因为其以经过长期检验的经典架构作为学习素材,可很好地启