C# 如何在.net http客户端getasyn方法中传递查询参数和路径参数
我需要将查询参数和路径参数传递给.NET中的HttpClient GetAsync()方法 文件/{document\u id}?版本={version\u number}C# 如何在.net http客户端getasyn方法中传递查询参数和路径参数,c#,httpclient,C#,Httpclient,我需要将查询参数和路径参数传递给.NET中的HttpClient GetAsync()方法 文件/{document\u id}?版本={version\u number} [路由(“api/drs/v1/document/getdetails/{Id}”)] [HttpGet] 公共异步任务文档详细信息(HttpRequestMessage详细信息) { //Debugger.Launch(); 尝试 { 使用(HttpClient=new HttpClient()) { client.Def
[路由(“api/drs/v1/document/getdetails/{Id}”)]
[HttpGet]
公共异步任务文档详细信息(HttpRequestMessage详细信息)
{
//Debugger.Launch();
尝试
{
使用(HttpClient=new HttpClient())
{
client.DefaultRequestHeaders.Accept.Clear();
//字符串路径=Request.Url.GetLeftPart(UriPartial.path);
HttpResponseMessage response=await client.GetAsync(“http://localhost:8089/api/drs/v1/document/getdetail/"]);
if(响应。IsSuccessStatusCode)
{
控制台。写入(“成功”);
}
其他的
{
控制台。写入(“失败”);
}
返回响应;
}
}
捕获(例外e)
{
投掷e;
}
}
我无法在GetAsync()方法中同时传递这两个参数,请尝试使用下一个扩展方法来构建url。您可以传递所需的基本url、路径和参数字典
public static Uri BuildUri(string baseUrl, string path, Dictionary<string, string> queryParams = null)
{
var uriBuilder = new UriBuilder(baseUrl) {Path = path};
if (queryParams != null)
{
var query = string.Join("&", queryParams.Select(x => $"{x.Key}={x.Value}").ToArray());
uriBuilder.Query = query;
}
return uriBuilder.Uri;
}
publicstaticuribuilduri(stringbaseurl,stringpath,Dictionary queryParams=null)
{
var uriBuilder=newuribuilder(baseUrl){Path=Path};
if(queryParams!=null)
{
var query=string.Join(“&”,queryParams.Select(x=>$”{x.Key}={x.Value}”).ToArray();
uriBuilder.Query=Query;
}
返回uriBuilder.Uri;
}
尝试使用下一个扩展方法来构建url。您可以传递所需的基本url、路径和参数字典
public static Uri BuildUri(string baseUrl, string path, Dictionary<string, string> queryParams = null)
{
var uriBuilder = new UriBuilder(baseUrl) {Path = path};
if (queryParams != null)
{
var query = string.Join("&", queryParams.Select(x => $"{x.Key}={x.Value}").ToArray());
uriBuilder.Query = query;
}
return uriBuilder.Uri;
}
publicstaticuribuilduri(stringbaseurl,stringpath,Dictionary queryParams=null)
{
var uriBuilder=newuribuilder(baseUrl){Path=Path};
if(queryParams!=null)
{
var query=string.Join(“&”,queryParams.Select(x=>$”{x.Key}={x.Value}”).ToArray();
uriBuilder.Query=Query;
}
返回uriBuilder.Uri;
}
查询参数是URL的一部分,这部分称为查询参数是URL的一部分,这部分称为