web-dev-qa-db-ja.com

Odata v4エラー「非オープン型の型なし値をサポートしていません」

モデルを更新すると、「非オープン型の型指定されていない値はサポートされません」がスローされます。更新前に機能していました。問題の原因を突き止めることができません。何か案は。

12
vijay daniel

以前にこのエラーを経験したことがありますが、これはデータモデルに存在しないJSONオブジェクトのプロパティを渡すことが原因です。

たとえば、データモデルがある場合:

public class User
{
    public long UserId { get; set; }

    public string UserName { get; set; }
}

また、ODataコントローラーには次のメソッドがあります。

public IHttpActionResult Post(User user)

POSTメソッドを使用して次のデータが送信される場合:

{
    "UserId": "0",
    "UserName": "test",
    "UserPassword": "test"
}

その後、サーバーは次の応答でエラー400を返します。

{
    "error": {
        "code": "",
        "message": "The request is invalid.",
        "innererror": {
            "message": "user : Does not support untyped value in non-open type.\r\n",
            "type": "",
            "stacktrace": ""
        }
    }
}

したがって、この例のUserPasswordプロパティがPOSTメソッドを使用して送信されたデータから削除された場合、エラーは発生しません。

17
Rami A.