Ho una configurazione di base dell'API Web 2 con alcuni routing di base.Web Api 2 Post - UrlHelper.Link non deve restituire null
Di seguito è riportato il percorso e il post predefinito per gli inserimenti. Quando chiamo il palo il record viene creato perfettamente nel database ma la chiamata "CreatedAtRoute" restituisce un errore 500 che indica:
ExceptionMessage: "UrlHelper.Link non deve restituire nulla." ExceptionType: "System.InvalidOperationException"
Perché dovrei ricevere questo errore?
[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);
}
Grazie Ronnel, questo dovrebbe fare il trucco da informazioni, ma ho ancora ottenere l'errore. // GET api/Casenote/5 [Route ("{casenoteId}/detail", Name = "GetSingleCasenote")] [ResponseType (typeof (client_admission_casenote))] e quindi utilizzare il nome nel post: return CreatedAtRoute ("GetSingleCasenote ", nuovo {id = client_admission_casenote.casenote_id}, client_admission_casenote); } –
Ah, è perché ho cambiato il valore predefinito "id" in "casenoteId". Ho dovuto modificare: CreatedAtRoute ("GetSingleCasenote", new {casenoteId = client_admission_casenote.casenote_id}, client_admission_casenote); } Grazie mille Ronnel !!! –
sono felice che tu l'abbia risolto. – Ronnel