J'ai mis à jour une API ASP.NET Core 2.2 vers ASP.NET Core 3.0 et j'utilise System.Json:
services
.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
.AddJsonOptions(x => {})
J'ai ensuite essayé de publier des données JSON en utilisant Angular 8, qui fonctionnait auparavant:
{
"name": "John"
"userId": "1"
}
Le modèle dans l'API ASP.NET Core 3.0 est:
public class UserModel {
public String Name { get; set; }
public Int32? UserId { get; set; }
}
Et l'action du contrôleur API est la suivante:
[HttpPost("users")]
public async Task<IActionResult> Create([FromBody]PostModel) {
}
Lorsque je soumets le modèle, j'obtiens l'erreur suivante:
The JSON value could not be converted to System.Nullable[System.Int32].
Dois-je faire autre chose lorsque j'utilise System.Json au lieu de Newtonsoft?
Ici, via le json, vous passez une valeur de chaîne pour UserId mais votre modèle fait référence à un int32? valeur pour UserId. Alors comment convertir votre valeur de chaîne en int32?