.net core .NET Web API从控制器名称中剥离斜杠-如何禁用该行为?
我正在开发一个.NET核心Web API,我需要针对第三方进行集成,该第三方发送post请求时,在控制器名称前有两个尾随字符.net core .NET Web API从控制器名称中剥离斜杠-如何禁用该行为?,.net-core,asp.net-core-webapi,asp.net-web-api-routing,.net Core,Asp.net Core Webapi,Asp.net Web Api Routing,我正在开发一个.NET核心Web API,我需要针对第三方进行集成,该第三方发送post请求时,在控制器名称前有两个尾随字符/ 示例:http://myapi//mycontroller/routename 我不能改变第三方的实现,所以我必须让它工作 我试图简单地在控制器名称中添加额外的斜杠,但没有成功。 在下面的代码示例中,您可以看到任意数量的斜杠都被.NET删除了 如果我在邮递员那里用所有的斜线呼叫下面的路线,我会得到一个404。如果我只使用一个斜杠,那么无论代码中控制器名称中有多少斜杠,它
/
示例:http://myapi//mycontroller/routename
我不能改变第三方的实现,所以我必须让它工作
我试图简单地在控制器名称中添加额外的斜杠,但没有成功。
在下面的代码示例中,您可以看到任意数量的斜杠都被.NET删除了
如果我在邮递员那里用所有的斜线呼叫下面的路线,我会得到一个404。如果我只使用一个斜杠,那么无论代码中控制器名称中有多少斜杠,它都会命中控制器/路由
我的控制器如下所示:
[ApiController]
[Route("////////////controllername")]
public class MyContorller : ControllerBase
{
public MyController() {}
[Route("//////myroute")]
[HttpPost]
public IActionResult Post()
{
// TODO do stuff
}
}
正如我所说,我不能更改第三方代码,所以我真的需要一种方法来实现这一点