Visual Studio Blazor错误400,ReasonPhrase错误请求版本:1.1系统,Net.Http.BrowserHttpHandler

ujv3wf0j  于 2023-05-01  发布在  其他
关注(0)|答案(5)|浏览(197)

请建议我。我最初的项目是使用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
}
bttbmeg0

bttbmeg01#

最佳猜测:
AppFolder有一个必需的string Name属性,您将其保留为null
当可空引用类型为ON时,这很容易发生。

x3naxklr

x3naxklr2#

注意:如果引用类型可能为null,则需要使其可为null。这需要完成**即使字段有[JsonIgnore]**这花了我3天才找到。希望对你有帮助!

wnavrhmk

wnavrhmk3#

如果你想使用[POST]、[PUT]和[DELETE],你需要用这些属性装饰你的控制器[HttpPost] [HttpPut] [HttpDelete]

kokeuurv

kokeuurv4#

感谢你的评分我已经解决了这个问题。我有任何属性null我认为virtual类型将不与模型的效果,然后在不介意它。但这就是问题所在。
这是我的问题

public class AppFolder
{
    [Key]
    public int Id { get; set; }
    public string FoldName { get; set; }
    public string FolderColor { get; set; }
    public virtual ICollection<AppFile> AppFiles { get; set; }
    public bool IsDelete { get; set; }
    public string CreatorId { get; set; }
    public DateTime CreatedDate { get; set; }
    public DateTime UpdatedDate { get; set; }
}

我通过允许AppFiles为null修复了它。

public class AppFolder
{
    [Key]
    public int Id { get; set; }
    public string FoldName { get; set; }
    public string FolderColor { get; set; }
    public virtual ICollection<AppFile>? AppFiles { get; set; }
    public bool IsDelete { get; set; }
    public string CreatorId { get; set; }
    public DateTime CreatedDate { get; set; }
    public DateTime UpdatedDate { get; set; }
 }
cwxwcias

cwxwcias5#

BadRequest也会发生在你将模型中未填充的[Required]字段传递给控制器post方法的时候

相关问题