请建议我。我最初的项目是使用Dotnet FrameworkCore6。创建项目时使用托管和个人。我尝试使用HTTPClient。得到它的工作,但我使用HTTPClient。Put,Post,Delete,PatchI got Error 400.我怎么能修理它。现在我有两个项目得到同样的问题。
在blazor页
public async Task OnSubmit(AppFolder args)
{
args.IsDelete = false;
args.FolderColor = "";
args.CreatorId = "";
var httpClient = _factory.CreateClient("public");
var result = await httpClient.PostAsJsonAsync("WeatherForecast",args);
Console.WriteLine("OnSubmit Debug : "+result);
}
在WeatherController中
[HttpPost]
public async Task<ActionResult> PostSomethings(AppFolder args)
{
Console.WriteLine("Post Debug"+args);
return await Task.Run(() => Ok());
}
我有旁路认证程序。CS
builder.Services.AddHttpClient("public", client => client.BaseAddress = new
Uri(builder.HostEnvironment.BaseAddress));
我收到此错误消息
OnSubmit Debug : StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content:
System.Net.Http.BrowserHttpHandler+BrowserHttpContent, Headers:
{
Date: Sat, 18 Jun 2022 11:58:57 GMT
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
Content-Type: application/problem+json; charset=utf-8
}
5条答案
按热度按时间bttbmeg01#
最佳猜测:
AppFolder有一个必需的
string Name
属性,您将其保留为null
。当可空引用类型为ON时,这很容易发生。
x3naxklr2#
注意:如果引用类型可能为null,则需要使其可为null。这需要完成**即使字段有[JsonIgnore]**这花了我3天才找到。希望对你有帮助!
wnavrhmk3#
如果你想使用[POST]、[PUT]和[DELETE],你需要用这些属性装饰你的控制器
[HttpPost] [HttpPut] [HttpDelete]
kokeuurv4#
感谢你的评分我已经解决了这个问题。我有任何属性null我认为
virtual
类型将不与模型的效果,然后在不介意它。但这就是问题所在。这是我的问题
我通过允许AppFiles为null修复了它。
cwxwcias5#
BadRequest也会发生在你将模型中未填充的[Required]字段传递给控制器post方法的时候