Web Api 2 Post - UrlHelper.Link 不能 return null
Web Api 2 Post - UrlHelper.Link must not return null
我有一个带有一些基本路由的基本网络 API 2 设置。
下面是默认路由,post 用于插入。当我调用 post 时,记录在数据库中完美创建,但 "CreatedAtRoute" 调用 returns 时出现 500 错误,说明:
ExceptionMessage: "UrlHelper.Link must not return null."
ExceptionType: "System.InvalidOperationException"
为什么我会收到这个错误?
[RoutePrefix("api/casenotes")]
public class CasenoteController : ApiController...
// POST api/Casenote
[Route("")]
[ResponseType(typeof(client_admission_casenote))]
public async Task<IHttpActionResult> Postclient_admission_casenote (client_admission_casenote client_admission_casenote)
{
Request.GetRequestContext().IncludeErrorDetail = true;
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.client_admission_casenote.Add(client_admission_casenote);
await db.SaveChangesAsync();
return CreatedAtRoute("DefaultApi", new { id = client_admission_casenote.casenote_id }, client_admission_casenote);
}
由于您使用的是属性路由..您必须命名您的路由..即
[路线("api/books/{id}",名称="GetBookById")]
并在 url.link() 调用中使用路由名称
在此处查看详细信息.. http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2#route-names
我有一个带有一些基本路由的基本网络 API 2 设置。
下面是默认路由,post 用于插入。当我调用 post 时,记录在数据库中完美创建,但 "CreatedAtRoute" 调用 returns 时出现 500 错误,说明:
ExceptionMessage: "UrlHelper.Link must not return null." ExceptionType: "System.InvalidOperationException"
为什么我会收到这个错误?
[RoutePrefix("api/casenotes")]
public class CasenoteController : ApiController...
// POST api/Casenote
[Route("")]
[ResponseType(typeof(client_admission_casenote))]
public async Task<IHttpActionResult> Postclient_admission_casenote (client_admission_casenote client_admission_casenote)
{
Request.GetRequestContext().IncludeErrorDetail = true;
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.client_admission_casenote.Add(client_admission_casenote);
await db.SaveChangesAsync();
return CreatedAtRoute("DefaultApi", new { id = client_admission_casenote.casenote_id }, client_admission_casenote);
}
由于您使用的是属性路由..您必须命名您的路由..即 [路线("api/books/{id}",名称="GetBookById")]
并在 url.link() 调用中使用路由名称
在此处查看详细信息.. http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2#route-names