Comme j'ai mis à jour le modèle, il lance "Ne prend pas en charge la valeur non typée dans le type non ouvert". Cela fonctionnait avant la mise à jour. Impossible d'identifier la source du problème. des idées.
J'ai déjà rencontré cette erreur et elle est causée par le passage d'une propriété d'un objet JSON qui n'existe pas sur le modèle de données.
Par exemple, étant donné le modèle de données:
public class User
{
public long UserId { get; set; }
public string UserName { get; set; }
}
Et un contrôleur OData a la méthode:
public IHttpActionResult Post(User user)
Lorsque les données suivantes sont envoyées à l'aide de la méthode POST
:
{
"UserId": "0",
"UserName": "test",
"UserPassword": "test"
}
Ensuite, le serveur renverra l'erreur 400 avec la réponse suivante:
{
"error": {
"code": "",
"message": "The request is invalid.",
"innererror": {
"message": "user : Does not support untyped value in non-open type.\r\n",
"type": "",
"stacktrace": ""
}
}
}
Ainsi, si la propriété UserPassword
, dans cet exemple, est supprimée des données envoyées à l'aide de la méthode POST
, l'erreur ne se produit pas.