在WebAPI項目中,我有以下控制器;檢查具有這些值的產品是否已經激化
public async Task<IHttpActionResult> PostProduct(Product product)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Products.Add(product);
await db.SaveChangesAsync();
return Ok(product);
}
基於此模型
public class Product
{
public int Id { get; set; }
public int ExternalId { get; set }
public string Title { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime Created { get; set; }
public string Description { get; set; }
public int ProductTypeId { get; set; }
public virtual ProductType IncidentType { get; set; }
public virtual ICollection<Manufacture> Manufactures { get; set; }
}
在我的控制,我希望做一個檢查,這樣可以節省產品,即檢查該外部ID togethr與ProductTypeId已經不excist之前。 含義,應該只有一個產品,其ExternalId爲123 togethr且ProductTypeId爲23.
如何將此檢查添加到我的控制器上面?
您可以使用遠程驗證程序。這裏是一個角度/網絡api的例子:https://code.msdn.microsoft.com/AngularJS-with-Web-API-8210527d –
@SteveGreene thx。但是當我讀到這個例子時,他們依靠一個前端來實際進行檢查(在他們的例子中標題excist),如果是true,則發佈到api。在我的情況下,我沒有這個選項,因爲這個api是面向用戶開放的,所以他們可以從他們自己的應用直接發佈到它。因此我無法在前端進行驗證檢查,因爲我沒有前端。 – brother