Web Api 2 Post-UrlHelper.El enlace no debe devolver null
Tengo una configuración básica de web API 2 con un enrutamiento básico.
A continuación se muestra la ruta y publicación predeterminadas para inserciones. Cuando llamo al post, el registro se crea perfectamente en la base de datos, pero la llamada" CreatedAtRoute " devuelve un error 500 que indica:
ExceptionMessage: "UrlHelper.Link no debe devolver null." ExceptionType: "System.InvalidOperationException "
¿Por qué recibiría este error?
[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);
}
23
1 answers
Ya que está usando enrutamiento de atributos.. tienes que nombrar tu ruta.. i. e. [Route ("api/books/{id}", Name="GetBookById")]
Y usa el nombre de la ruta en tu url.link () call
Ver detalles aquí.. http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2#route-names
38
Author: Ronnel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-15 00:08:13
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-15 00:08:13