【问题标题】:Why I always have invalid view model? [closed]为什么我总是有无效的视图模型? [关闭]
【发布时间】:2020-05-09 13:13:59
【问题描述】:

我的 Web Api 项目中有以下视图模型:

public class CustomerChangeViewModel
{
    [JsonProperty("idfa")]
    [Required(ErrorMessage = "Required idfa")]
    public string Idfa { get; set; }

    [JsonProperty("idfv")]
    [Required(ErrorMessage = "Required idfv")]
    public string Idfv { get; set; }
    
    [JsonProperty("app_build_number")]
    [Required(ErrorMessage = "Required app_build_number")]
    public int AppBuildNumber { get; set; }
    
    [JsonProperty("app_version")]
    [Required(ErrorMessage = "Required app_version")]
    public string AppVersion { get; set; }

    [JsonProperty("screen_height")]
    [Required(ErrorMessage = "Required screen_height")]
    public int ScreenHeight { get; set; }
    
    [JsonProperty("screen_width")]
    [Required(ErrorMessage = "Required width")]
    public int ScreenWidth { get; set; }
    
    [JsonProperty("locale")]
    [Required(ErrorMessage = "Required locale")]
    public string Locale { get; set; }
    
    [JsonProperty("app_id")]
    [Required(ErrorMessage = "Required app_id")]
    public string AppId { get; set; }
    
    [JsonProperty("app_platform")]
    [Required(ErrorMessage = "Required app_platform")]
    public string AppPlatform { get; set; }
    
    [JsonProperty("manufacturer")]
    [Required(ErrorMessage = "Required manufacturer")]
    public string Manufacturer { get; set; }
    
    [JsonProperty("model")]
    [Required(ErrorMessage = "Required model")]
    public string Model { get; set; }
    
    [JsonProperty("os_version")]
    [Required(ErrorMessage = "Required os_version")]
    public string OsVersion { get; set; }
    
    [JsonProperty("sdk_version")]
    [Required(ErrorMessage = "Required sdk_version")]
    public string SdkVersion { get; set; }
}

以及以下控制器动作:

    [Route("/v1.0/patch_user")]
    [HttpPatch]
    public async Task<IActionResult> PatchUserInfo(CustomerChangeViewModel customerChange)
    { ... }

我不明白错误在哪里,为什么我总是出现以下错误:

我在此处固定请求正文:

{
    "Idfa": "lalalal-132-123",
    "idfv": "234234efgsdghnwe5hjqe",
    "app_build_number": 1,
    "app_version": "1.0.0",
    "screen_height": 820,
    "screen_width": 300,
    "locale": "ru",
    "app_id": "com.test",
    "app_platform": "iOS",
    "manufacturer": "Apple",
    "model": "iPhone10,6",
    "os_version": "12.3.1",
    "sdk_version": "0.3"
}

我不明白我的错误在哪里?为什么在这种情况下 MVC 框架无法制作地图。感谢您的帮助!

【问题讨论】:

  • 您如何将数据发送到您的 API? (JSON?FormData?其他?)
  • 我正在通过 HTTP 客户端 Insomnia 进行打磨。 JSON。

标签: c# asp.net-web-api .net-core asp.net-core-webapi


【解决方案1】:

所以,这很简单。我只是忘记了[FromBody]。对于 JSON 请求,我必须更改:

[Route("/v1.0/patch_user")]
    [HttpPatch]
    public async Task<IActionResult> PatchUserInfo(CustomerChangeViewModel customerChange)
    { ... }

[Route("/v1.0/patch_user")]
    [HttpPatch]
    public async Task<IActionResult> PatchUserInfo([FromBody] CustomerChangeViewModel customerChange)
    { ... }

【讨论】:

    猜你喜欢
    • 2012-09-30
    • 2010-11-22
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2016-08-06
    • 2022-08-22
    • 2022-01-07
    • 2010-11-26
    相关资源
    最近更新 更多