2015-06-03 3 views
0

Я использую веб-приложения DataPortal в приложении ASP.NET MVC и задаюсь вопросом, что лучше всего подходит для валидации на стороне сервера?WebAPI HTTPPost Проверка данных

1) Выполняют ли в самом контроллере API? 2) Сделайте непосредственно перед вводом данных (исходный уровень)?

И как ответ должен идти к клиенту?

ответ

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

Смежные вопросы