gpt4 book ai didi

c# - 没有可用的 MediaTypeFormatter 'text/html'

转载 作者:行者123 更新时间:2023-11-30 13:37:08 25 4
gpt4 key购买 nike

我已经编写了一个 ServiceHelper 类,它将协助 POST 到 C# Web API Controller

public class ServiceHelper<TResponse, TRequest> : IServiceHelper<TResponse, TRequest>
{
public TResponse Execute
(
string endpoint,
string controller,
string action,
TRequest request,
string format = "application/json"
)
{
using (var httpClient = new HttpClient())
{
httpClient.BaseAddress = new Uri(endpoint);
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(format));

var response = httpClient.PostAsJsonAsync(String.Format("{0}/{1}", controller, action),
request).Result;

return response.Content.ReadAsAsync<TResponse>().Result;
}
}
}

我一直在努力

Additional information: No MediaTypeFormatter is available to read an object of type 'ReadMotorVehiclesWorkflowResponse' from content with media type 'text/html'.

关于如何解决这个问题有什么想法吗?

最佳答案

显然服务器在您期望 JSON 的位置返回 HTML,显然没有办法从 HTML 反序列化 TResponse...

我怀疑服务器实际上返回了错误代码,而 HTML 只是错误的可视化表示。

您应该调用 response.EnsureSuccessStatusCode() 以确保响应指示成功(通常为 200 OK)。如果不是这种情况,它将引发异常。

关于c# - 没有可用的 MediaTypeFormatter 'text/html',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25184427/

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