asp.net Web Api路由不工作
发布时间:2020-12-15 19:40:35 所属栏目:asp.Net 来源:网络整理
导读:这是我的路由配置: config.Routes.MapHttpRoute( name: "ActionApi",routeTemplate: "api/{controller}/{action}/{id}",defaults: new { id = RouteParameter.Optional }); 而且,这是我的控制器: public class ProductsController : ApiController{ [Accep
这是我的路由配置:
config.Routes.MapHttpRoute( name: "ActionApi",routeTemplate: "api/{controller}/{action}/{id}",defaults: new { id = RouteParameter.Optional } ); 而且,这是我的控制器: public class ProductsController : ApiController { [AcceptVerbs("Get")] public object GetProducts() { // return all products... } [AcceptVerbs("Get")] public object Product(string name) { // return the Product with the given name... } } 当我尝试api / Products / GetProducts /,它的作品. api /产品/产品?name = test也可以使用,但是api /产品/产品/测试不起作用.我究竟做错了什么? 更新: 以下是当我尝试api /产品/产品/测试时所得到的: { "Message": "No HTTP resource was found that matches the request URI 'http://localhost:42676/api/Products/Product/test'.","MessageDetail": "No action was found on the controller 'Products' that matches the request." } 解决方法
这是因为您的路由设置及其默认值.你有两个选择.
1)通过更改路由设置以匹配Product()参数以匹配URI. config.Routes.MapHttpRoute( name: "ActionApi",routeTemplate: "api/{controller}/{action}/{name}",// removed id and used name defaults: new { name = RouteParameter.Optional } ); 2)其他推荐的方法是使用正确的方法签名属性. public object Product([FromUri(Name = "id")]string name){ // return the Product with the given name } 这是因为该方法在请求时期望参数idapi /产品/产品/测试,而不是寻找名称参数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在Visual Studio Ultimate中找不到打开的网站
- asp.net – ImageButton不会在IE10上发回帖子
- asp.net-mvc – SimpleMembershipProvider不会在WebSecurit
- 契约类相关的序列化与反序列化
- asp.net – 从中??等信任环境的Web.config读取system.net/m
- asp.net-mvc-3 – ASP.NET MVC 3中ViewBag.Title的替代方法
- asp.net – 将ViewState移出页面?
- asp.net – 身份使用Web API授权属性角色
- ASP.Net MVC VS 2008
- asp.net-mvc – 在ASP.NET MVC 3中的子文件夹中添加视图
推荐文章
站长推荐
- asp.net-mvc – 在布局视图中获取当前的Applicat
- asp.net-web-api – 从数据存储实现动态OAuthBea
- asp.net-mvc – 用于Web.config的T4MVC
- Asp.net SignalR 让实时通讯变得如此简单
- asp.net-mvc – 从.Net MVC View获取HTML而不实际
- asp.net-mvc – ASP.NET MVC中的本地化
- 在ASP.NET Core中给上传图片功能添加水印
- asp.net – 为本地化设置TemplateField HeaderTe
- asp.net-mvc – 添加基于Azure移动应用程序的实时
- asp.net – 在Windows 2008 R2 SP1上,asmx的JQue
热点阅读