gpt4 book ai didi

c# - 如何路由 URI 中包含分号的请求

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:55 27 4
gpt4 key购买 nike

我正在尝试构建一个代理,该代理将接受来自现有客户端的请求,这些客户端在 URI 中发送带有分号的 POST 请求。原始客户端同时传递 session ID 和客户端 ID,如下例所示。

示例网址: https://myappdomain.com/api/updateData;jsessionid=xxxx?clientId=yyyy

我实际上不关心这些值是什么。我的主要问题是我不知道如何让 web-api 路由请求。如果我用问号 (?) 替换分号或将“;jsessionid=xxxx”移动到“?clientId”之后的 URL 末尾,它就可以正常工作。但是,如果“;jsessionid=xxxx”紧跟在方法名称之后,我将无法使用它。

我尝试了很多方法来查看是否可以保留原始 URI,但我总是收到 404 Not Found 错误。

[Route("api/[controller]")]
[ApiController]
public class UpdateDataController : ControllerBase
{
[HttpPost]
public IActionResult Post([FromBody] CustomClass value)
{
return Ok("OK");
}
}

最佳答案

UseRoutingUseRouterUseMvc 调用之前将其添加到您的 Startup.Configure 方法中。

app.Use(next => http =>
{
http.Request.Path = new PathString(http.Request.Path.Value.Replace(';', '?'));
return next(http);
});

关于c# - 如何路由 URI 中包含分号的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56877391/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com