【发布时间】:2021-07-08 15:46:04
【问题描述】:
我正在尝试从服务调用另一个微服务的 get 方法。但是当我尝试这样做时,我收到了这个错误:
CS1503:参数 2:无法从“System.Net.Http.HttpContent”转换为“System.Net.Http.HttpCompletionOption”。
以下是源微服务中用于从目标服务获取数据列表的代码。
this._httpClient.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("application/json"));//ACCEPT header
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "relativeAddress");
request.Content = new StringContent(JsonConvert.SerializeObject(invoiceFilterRequest),
Encoding.UTF8,
"application/json");//CONTENT-TYPE header
var response = await this._httpClient.GetAsync(InvEndpoints.GET_Cus_List, request.Content).ConfigureAwait(false);
实际错误显示在GetAsync() 调用的第二个参数request.Content 中。
这里是目标服务方法:
[HttpGet("cus/filter")]
public async Task<ActionResult<PagedList<Inv>>> GetCusByFilterAsync(InvFilterRequest request)
{
try
{
//..
}
}
除了使用上述代码将对象作为查询字符串发送之外,还有什么简单的解决方案可以使用 HTTP GET 将对象作为参数发送到另一个微服务?
【问题讨论】:
标签: asp.net-core microservices httpclient webapi