WebAPI HTTPPost数据验证

时间:2015-06-03 15:10:18

标签: asp.net-web-api http-post

我在ASP.NET MVC应用程序中使用WebAPI Datacontrollers并想知道将服务器端版本设置为最佳做法是什么?

1)在API控制器本身做什么? 2)在数据插入之前(源级别)吗?

应该如何回应客户?

1 个答案:

答案 0 :(得分:1)

在web api控制器中,您可以像下面的代码一样验证您的模型:

using System.ComponentModel.DataAnnotations;
namespace MyApi.Models
{
    public class Product
    {
        public int Id { get; set; }
        [Required]
        public string Name { get; set; }
        public decimal Price { get; set; }
        [Range(0, 999)]
        public double Weight { get; set; }
    }
}

你的帖子就是这样的:

using MyApi.Models;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace MyApi.Controllers
{
    public class ProductsController : ApiController
    {
        public HttpResponseMessage Post(Product product)
        {
            if (ModelState.IsValid)
            {
                // Do something with the product (not shown).

                return new HttpResponseMessage(HttpStatusCode.OK);
            }
            else
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }
        }
    }
}

试试这个,它会对你有用。 有关详细信息,请参阅此链接:Model Validation in Web API