我生成一個實體框架API控制器,現在我想新的方法添加到它:ASP.NET實體框架API控制器添加方法不工作
[ResponseType(typeof(LCPreview))]
public IHttpActionResult ValidateEmail(string email)
{
LCPreview lCPreview = db.Data.Find(5);
if (lCPreview == null)
{
return NotFound();
}
return Ok(lCPreview);
}
但是當我運行此,我得到這個錯誤:
The request is invalid. The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.Web.Http.IHttpActionResult GetLCPreview(Int32)' in 'Astoria.Controllers.PreviewLCAPIController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
你檢查了從db.Data.Find調用返回的對象嗎?它可能對id字段有一個空值。 –
我放了一個斷點,它沒有在所有 – user979331
路線衝突中碰到這個新方法。它正在擊中符合請求的另一條路線。顯示如何配置您的路線設置。並請求url – Nkosi