【发布时间】:2018-10-05 20:17:22
【问题描述】:
我正在从 dotnet 核心 webapi 调用 .NET WebApi2 端点。当我调试到 .NET WebApi2 POST 端点时,我的值始终为空。这不可能吗?
当我使用 ID 调用 GET 端点时,ID 会顺利传递。
我同时使用 Postman 和 Fiddler 进行调试。每当我将我的 JSON 对象从 Postman 传递到 .NET WebApi2 POST 端点时,我的 值就会被填充。
除了沮丧之外,这看起来很简单。 :,(
已更新以包含代码
dotnet core web api(从 Postman 调用)
[HttpPost]
public async Task PostAsync([FromBody] string value)
{
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var jsonObject = new JObject();
jsonObject.Add("text", "Rich");
var response = await client.PostAsJsonAsync("http://localhost:54732/api/Rich", jsonObject);
var responseResult = response.Content.ReadAsStringAsync().Result;
}
.NET WebApi2(JObject 始终为空)
// POST: api/Rich
public void Post(JObject value)
{
}
【问题讨论】:
-
值得同时包含您在 ASP.NET Core 项目中使用的代码和您使用 Postman 发出的请求示例。如果没有这些信息,将很难提供帮助。
-
请将您的代码包含为minimal reproducible example,以便我们提供更多帮助。没有代码很难提供任何分析:-)
-
请在此处包含其他人指出的代码示例和您尝试过的内容。
标签: .net-core asp.net-web-api2 asp.net-core-2.0 dotnet-httpclient asp.net-web-api-routing