asp.net-mvc – Web API 2需要使用尾部斜杠来使自定义属性路由起
发布时间:2020-12-16 04:11:05 所属栏目: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/U
我已经创建了一个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-mvc – ASP.Net MVC自定义模型绑定说明
- ASP.NET Webforms,用户控件中的JavaScript
- asp.net单点登录不工作
- asp.net – 安装Ninject.MVC5后的FileLoadException
- asp.net-mvc – 我们可以从现有数据库的选定表中Scaffold D
- asp.net-mvc – 如何构建一个企业MVC应用程序,业务逻辑在哪
- asp.net-mvc-4 – 编辑并继续不在Windows 7,32位操作系统上
- WPF和MVC是相同的概念吗?
- 会话状态ASP.Net的配置文件内存使用情况
- asp.net-mvc – 修改后ASP.NET包缓存不清除
推荐文章
站长推荐
- asp.net-mvc – MVC 4中的主 – 详细信息样式视图
- asp.net – 如何从日历控件中获取所选日期?
- asp.net-mvc – MVC 5实体框架6执行存储过程
- asp.net – 服务器端检测页面显示在IFrame中
- asp.net – 使用主题的css文件需要在页面上的头控
- asp.net – “HttpContext.Current”属性和相关事
- asp.net-mvc – 为什么Visual Studio不会在发布中
- asp.net – 如何验证列表框是否为空(客户端)
- asp.net – 使用mvc-mini-profiler 1.9“无法确定
- 是否可以在ASP.NET中重定向期间设置cookie?
热点阅读