asp.net-mvc – Web API 2需要使用尾部斜杠来使自定义属性路由起作用
发布时间:2020-05-25 10:40:43 所属栏目:asp.Net 来源:互联网
导读:我已经创建了一个Web API 2项目,虽然API工作正常,但我必须为它们输入一个尾随斜杠. 这导致404 http://www.myURL.com/api/v1/get/addressfromlatlong/UK/50.9742794/-0.1146699 这显示了预期的JSON响应 http://www.myURL.com/api/v1/get/addressfromlatlong/UK
|
我已经创建了一个Web API 2项目,虽然API工作正常,但我必须为它们输入一个尾随斜杠. 这导致404 http://www.myURL.com/api/v1/get/addressfromlatlong/UK/50.9742794/-0.1146699 这显示了预期的JSON响应 http://www.myURL.com/api/v1/get/addressfromlatlong/UK/50.9742794/-0.1146699/ 我有另一个控制器与自定义操作工作正常.唯一的区别是它有一个整数参数… 它似乎与十进制类型有关,就好像我在URL中稍微变化并使用参数一样,API返回结果而没有问题: 此变体还按预期显示JSON响应 http://www.myURL.com/api/v1/get/addressfromlatlong/UK/50.9742794/?longitude=-0.1146699 这不是世界末日,但我也使用Swagger生成我的API文档,并自动使用上述第一个URL,并包含内置测试,当然,这些测试失败了.对于那些引用API文档的开发人员来说,这并不是那么好. 任何人都可以解释为什么这可能会发生以及如何在没有尾随斜线的情况下让它工作? 路线配置 public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home",action = "Index",id = UrlParameter.Optional }
);
}
自定义属性和Controller Action [Route("get/addressfromlatlong/UK/{latitude:decimal=0}/{longitude:decimal=0}")]
public AddressDetails GetAddressDetailsByLatLong(decimal latitude,decimal longitude)
{
AddressDetails addressDetails = repository.GetAddressDetailsByLatLong(latitude,longitude);
return addressDetails;
}
解决方法使用 runAllManagedModulesForAllRequests.没有它IIS认为它是一个文件请求,扩展名为小数点后的数字部分.找不到文件,404.(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用实体框架在ASP.Net中创建报表
- ASP.Net 2中的上传文件在哪里?
- asp.net-mvc – 页面的ValidateRequest设置可以被覆盖吗?
- asp.net-mvc – HttpResponseMessage内容不会显示PDF
- asp.net-mvc – 如何使用Wix在IIS 7上安装ASP.Net MVC应用程
- asp.net-mvc – MVC应用程序中的随机数生成
- asp.net-mvc – 将Elmah与WebApi一起使用时会记录两次错误
- asp.net-mvc – Bootstrap模式表单在提交后不会关闭
- asp.net-mvc – MVC4 SimpleMemberhip’提供商遇到了未知错
- 单元测试 – 单元测试项目不能参考MVC项目
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC Session vs Global
- ASP.NET成员资格 – 让用户使用以前的密码
- asp.net – 如何加密web.config中的一个条目
- asp.net-mvc – asp.net MVC antiorgerytoken异常
- asp.net核心 – JSON属性现在从ASP .Net Core 1.
- .net – 如何使单元测试可以使用HttpContext?
- asp.net-mvc – 删除布局将默认为_ViewStart,为什
- asp.net – SQL Reporting Services – 打印按钮
- asp.net-mvc-3 – 在ASP.NET MVC3中使用pdf.js.
- asp.net – 通配符HttpHandler不处理静态文件
热点阅读
