C# 发布到Web API
我正在尝试使用HTTPClient将对象发布到我的端点,但我收到错误消息,指出:C# 发布到Web API,c#,.net,asp.net-web-api,http-post,httpclient,C#,.net,Asp.net Web Api,Http Post,Httpclient,我正在尝试使用HTTPClient将对象发布到我的端点,但我收到错误消息,指出: Response status code does not indicate success: 415 (Unsupported Media Type). 我使用Webjob作为一个单独的解决方案来访问我的webapi端点。投寄代码如下: using (HttpClient client = new HttpClient()) { string path = "http:/
Response status code does not indicate success: 415 (Unsupported Media Type).
我使用Webjob作为一个单独的解决方案来访问我的webapi端点。投寄代码如下:
using (HttpClient client = new HttpClient())
{
string path = "http://localhost:15218/api/auth/test";
var body = JsonConvert.SerializeObject(result);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpContent content = new StringContent(body, Encoding.Unicode, "application/json");
var res = await client.PostAsync(path, content);
res.EnsureSuccessStatusCode();
}
在StringContent上,我尝试将编码更改为Encoding.UTF32和Encoding.UTF8,但仍然收到相同的消息。
API终点
[HttpPost]
[Route("test")]
public HttpResponseMessage test(RegisteredEvent s)
{
//some code
}
我正在发布的对象与API端点参数所采用的对象相同,但当然,我在发布时正在序列化对象,如第一段代码所示。所以我不知道为什么它没有击中 检查API是否支持该媒体类型格式。它通常通过JsonFormatter接受Json,但确保在配置过程中没有删除它。确保在WebApiConfig
config.Formatters.Remove(config.Formatters.JsonFormatter)中找不到该文件代码>显示如何配置Web API Hi,我的配置文件中没有任何格式,它是默认代码,即Web API路由