[英]How can I pass an encoded url as a path parameter in c#
我正在创建一个新的 RESTful API 它有一个端点
GET v1/my-resource/{encoded-url}
当我尝试向此端点发送消息时,我收到 404
GET v1/my-resource/%2Fshop%2Fgender-women-category-bags
当我尝试发送my-url
时,它返回 200。
GET v1/my-resource/my-url
这是我的方法:
[ApiController]
[Route("")]
public class GetController : ControllerBase
{
[HttpGet("v1/my-resource/{url}")]
public async Task<IActionResult> GetResource(
[FromRoute, Required] string url)
{
return Ok();
}
}
谁能帮我理解为什么我不能将%2Fshop%2Fgender-women-category-bags
作为编码的 url 传递?
您可以尝试对 base64 进行编码,以便生成可靠的序列并且不会混淆 ApiController。 顺便提一句。 我已经在 mvc controller 中尝试了您的解决方案,它可以工作,但在 api controller 中没有。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.