【发布时间】:2022-01-21 07:15:49
【问题描述】:
我似乎不太明白如何从使用 ASP.NET 托管的 Blazor WASM 项目调用 HTTP POST 函数。我很难找到任何使用 .NET 6 之后的 POST 方法的示例,因为它太新了。我尝试将 content-headers 设置为 JSON 以及从实际控制器函数中检索请求正文的许多不同方法,但我只得到 500、415 和 400 错误。我也尝试过不使用模型绑定控制器功能,但无济于事。不过,我不认为这是问题所在,因为据我所知,使用 [ApiController] 属性可以推断出正确的模型绑定。我只能想象问题源于 HTTP 调用。
调用方法的服务:
public async Task CreateUser(User user)
{
await _httpClient.PostAsJsonAsync("users", user);
}
控制器功能:
[HttpPost]
public async Task PostUser(User user)
{
_context.Users.Add(user);
await _context.SaveChangesAsync();
}
上面的代码给出的只是一个简单的400错误。
另外,我已经手动将一个测试用户添加到数据库中,并且我能够毫无问题地检索它。
【问题讨论】:
-
您是否将您正在使用的 HttpClient 的基本 URL 设置为您的 api 的基本 URL?
标签: asp.net-core blazor blazor-webassembly asp.net-blazor