gpt4 book ai didi

asp.net-web-api - 如何使 ViewModel 上的字段成为 Web API 调用所需的字段?

转载 作者:行者123 更新时间:2023-12-02 19:40:52 25 4
gpt4 key购买 nike

我想知道是否可能,或者如何将类中用作 Web API 调用参数的字段标记为必需?显然,我可以在收到消息后手动执行此操作,但我希望管道中内置了一些东西(例如在 MVC 中与 jQuery 结合使用,使用必需的字段注释自动返回到显示所需字段符号的 UI),所以我不必手动检查所有内容。

假设我有以下 ViewModel 类:

public class PersonViewModel
{
public string FirstName {get; set;}

public string MiddleName {get; set;}

public string LastName {get; set;}

}

这是我在 PersonController 上的简单 Post 方法

public HttpResponseMessage Post(PersonViewModel person)
{


}

假设 FirstNameLastName 字段是必需的,但 MiddleName 不是必需的。我想知道的是,如果 Person 对象没有填充必填字段之一,调用是否会自动向客户端响应 HTTP 400 Bad Request 或类似请求?

基本上我必须手动完成所有这些工作,或者有没有办法让框架自动处理带注释的字段,这样我就没有大量针对必填字段的样板验证代码?

我试图避免的手动方式:

if (ModelState.IsValid)
{
if (person.LastName == string.empty)
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}

}

感谢任何帮助,谢谢!

最佳答案

WebAPI 确实具有验证功能。您应该能够将 FirstName 和 LastName 属性标记为 [Required],然后使用本博客文章底部的操作筛选器发回适当的响应:

http://blogs.msdn.com/b/youssefm/archive/2012/06/28/error-handling-in-asp-net-webapi.aspx

您可以在此处阅读有关 WebAPI 验证的更多信息:

http://www.asp.net/web-api/overview/formats-and-model-binding/model-validation-in-aspnet-web-api

关于asp.net-web-api - 如何使 ViewModel 上的字段成为 Web API 调用所需的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14588094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com