asp.net-mvc-4 – Web.API和FromBody
发布时间:2020-12-16 09:24:13 所属栏目:asp.Net 来源:网络整理
导读:我有点困惑.我有一个控制器(派生自ApiController)具有以下方法: [ActionName("getusername")]public string GetUserName(string name){ return "TestUser";} 我的路由设置如下: config.Routes.MapHttpRoute( name: "ActionApi",routeTemplate: "api/{contr
我有点困惑.我有一个控制器(派生自ApiController)具有以下方法:
[ActionName("getusername")] public string GetUserName(string name) { return "TestUser"; } 我的路由设置如下: config.Routes.MapHttpRoute( name: "ActionApi",routeTemplate: "api/{controller}/{action}/{id}",defaults: new { id = RouteParameter.Optional } ); 当我尝试在fiddler中使用GET命中/ api / mycontroller / getusername / test时,我一直收到400错误. 当我将[FromBody]添加到GetUserName中的name参数时,我发现一切正常. 我在某种程度上认为[FromBody]用于HttpPost,表明该参数位于帖子的主体中,因此不需要GET.看起来我错了. 这是如何运作的? 解决方法
您需要将路由更改为:
config.Routes.MapHttpRoute( name: "ActionApi",routeTemplate: "api/{controller}/{action}/{name}",defaults: new { name = RouteParameter.Optional } ); 或将参数名称更改为: [ActionName("getusername")] public string GetUserName(string id) { return "TestUser"; } 注意:其他路由参数必须与方法参数名称匹配. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何避免重置IIS以确保调试器附加*正确* IIS工作
- asp.net – 在我的浏览器中测试Accept语言
- asp.net – 我可以在global.asax.cs中访问虚拟目录名吗?
- ASP.NET Web.Config转换问题
- 如何在ASP.NET中手动设置按钮输入类型?
- asp.net – 如何增加我的存储过程调用的超时时间(见错误)?
- asp.net-mvc-4 – ASP.NET实体框架可以自动生成数据注释吗?
- asp.net – 如何从ascx控件注册css页面?
- 什么是链接服务器的ASP.NET连接字符串格式?
- asp.net-mvc – 使用linq2sql在c#mvc中不显示所选项的多选列
推荐文章
站长推荐
- asp-classic – Checkbox布尔值Classic ASP
- asp.net-mvc – ASP.NET MVC ViewModel自动生成
- asp.net-mvc – Action方法中的routeValues不接受
- asp.net-web-api – 无法使MVC4 WebApi包含JSON中
- asp.net – WebControl创建中的Render和RenderCo
- asp.net-mvc – 属性级验证错误阻碍了类级验证的
- asp.net – 我如何单元测试EntitySetController
- asp.net-mvc – ASP.NET MVC控制器动作设计
- asp.net – 使用javascript和服务器端禁用/启用r
- asp-classic – ConnectionTimeout无效
热点阅读