首页 > 解决方案 > 包含 / 的 URL 参数的 HttpClient 编码

问题描述

我正在使用 HttpClient (Dot Net 5),我试图通过在 URL 中指定它的 id 从 DotNetCore Web 服务获取实体。

Postman 或 Swagger 等其他客户端工作正常。

失败的例子:

string id = "Person/65-C";
var httpResponse = await httpClient.GetAsync(string.Format("/persons/{0}", System.Web.HttpUtility.UrlEncode(id)));

标签: c#asp.net-core-webapidotnet-httpclient.net-5

解决方案


我建议你应该 [HttpGet("persons/{**value}")]在你的服务器 api 中使用属性。

我的测试示例代码。

[HttpGet("persons/{**value}")]
public string test(string value)
{
    return "userid: = " + value;
}

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述


推荐阅读