使用 .Net 和 Newtonsoft Json,我如何隐藏序列化时的模型属性,但是,能够填充该属性并利用传递的值。
例如
[JsonIgnore]
public Int16 Value { get; set; }
这隐藏了输出的属性,但是,我无法在模型 POST 上设置值。如何在输出时隐藏属性但允许在 POST 或 PUT 请求中设置该属性?
POST 示例:
{
"Name": "King James Version",
"Abbreviation" : "kjv",
"Publisher": "Public Domain",
"Copyright": "This is the copyright",
"Notes": "This is the notes.",
"TextDirection" : "LTR"
}
放置示例:
{
"ID" : 1,
"Name": "King James Version",
"Abbreviation" : "kjv",
"Publisher": "Public Domain",
"Copyright": "This is the copyright",
"Notes": "This is the notes.",
"TextDirection" : "LTR"
}
商业逻辑:
ID 不应在 POST 请求中传递,如果传递将被忽略。
POST 请求需要缩写,并将使用自定义验证过滤器属性针对数据库进行验证。
PUT 请求不能传递缩写,因为该字段/属性无法更新。
ID 必须在 PUT 请求中传递给自定义验证器中的标识,它是 PUT 请求而不是 POST 请求。
相关分类