web-dev-qa-db-ja.com

JSON値をSystem.Nullable [System.Int32]に変換できませんでした

ASP.NET Core 2.2 APIをASP.NET Core 3.0に更新し、System.Jsonを使用しています。

services
  .AddMvc()
  .SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
  .AddJsonOptions(x => {}) 

次に、Angular 8を使用してJSONデータを投稿しようとしましたが、以前は機能していました。

{
  "name": "John"
  "userId": "1"
}

ASP.NET Core 3.0 APIのモデルは次のとおりです。

public class UserModel {
  public String Name { get; set; }
  public Int32? UserId { get; set; } 
}

APIコントローラーのアクションは次のとおりです。

[HttpPost("users")]
public async Task<IActionResult> Create([FromBody]PostModel) { 
}

モデルを送信すると、次のエラーが発生します。

The JSON value could not be converted to System.Nullable[System.Int32]. 

Newtonsoftの代わりにSystem.Jsonを使用する場合、他に何かする必要がありますか?

2
Miguel Moura

ここでjsonを介してUserIdの文字列値を渡しますが、モデルはint32を参照していますか? UserIdの値。次に、値を文字列からint32に変換する方法は?

3
MK Vimalan