我對WebApi有個小問題。.NET中的POST對象WebAPI
問題: 如果我要發佈使用JSON的模型,我可以添加儘可能多的成員我想,只要在模型中定義的成員都在場。
問題: 如何在我的Json對象中存在未定義的成員時觸發異常。沒有定製的JsonConverter,這可以實現嗎? 我在尋找的是一個通用的解決方案,而不是每個不同型號的轉換。
例:
型號:
public class Person
{
[Required]
public string Name { get; set; }
}
阿比控制器:
public class PersonController : ApiController
{
public HttpResponseMessage Post(Person person)
{
if (person != null)
{
if (ModelState.IsValid)
{
//do some stuff
return new HttpResponseMessage(HttpStatusCode.OK);
}
}
return new HttpResponseMessage(HttpStatusCode.BadRequest);
}
}
的Json帖(體) {"Name":"Joe"}
- >有效 {"Name":"Joe","InvalidMember","test","Name","John"}
- 還>有效。在這種情況下,我想觸發一個異常。因爲如果你看它,它完全不符合我的模型定義。
事實上,這不是一個真正的問題,但我想強迫我的客戶使用所描述的API,而不是用無用的信息填充它。這只是消耗帶寬。如果API沒有造成問題,那麼客戶端可能不會發布額外的數據。 – JeanD
發佈額外的數據仍然會消耗帶寬。在您檢查其結構時,數據已經傳輸到服務器。不知道你是否試圖阻止額外的數據發佈。在這種情況下,你必須在客戶端工作。 – Floremin
是的,我知道。我只想讓客戶意識到發佈額外的數據,就這些。 「嘿,你發佈我不需要的數據。清理你的文章,然後再試一次」。如果您忽略額外的數據,客戶端會繼續發佈它,這將導致不必要的網絡流量。 – JeanD