我在开发API的时候,url的格式是 api/get/friends/{email}, email 是一个string类型的参数。但是当我传输Email地址的时候,程序不能找到相应的Controller, 但是当我把emai参数中标点符号“.”去除就可以找到相应的Controller,请问有没有人知道这个错误应该如何处理?
在web.config
中,找到<system.webServer>
节点下的<handlers>
节点下的
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*" verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
将path
修改成path="*"
试试看吧。
iis
也会报404
错误,如果如上配置可以的话。那么就是这个问题。
我在<system.webServer>节点下的<modules> 中的属性runAllManagedModulesForAllRequests 设置为true就可以运行了
第一个方案:url改成 api/get/friends?email=xxxxx格式。
第2个方案“post提交。 api/get/friends email不在url显示。
ASP.NET Core 中没这个问题,可以正常路由,你用的是属性路由吗?
[Route("api/get/friends/{email}")]