Tôi có thiết lập API web cơ bản 2 với một số định tuyến cơ bản.Web Api 2 Post - UrlHelper.Link không được trả lại null
Dưới đây là tuyến đường mặc định và bài đăng để chèn. Khi tôi gọi bài đăng, bản ghi được tạo hoàn hảo trong cơ sở dữ liệu nhưng cuộc gọi "CreatedAtRoute" trả về lỗi 500 nêu rõ:
Ngoại lệ: "UrlHelper.Link không được trả về giá trị rỗng." Loại ngoại lệ: "System.InvalidOperationException"
Tại sao tôi nhận được lỗi này?
[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);
}
Cảm ơn Ronnel, điều này sẽ làm các trick từ các thông tin nhưng tôi vẫn nhận được lỗi. // GET api/Casenote/5 [Route ("{casenoteId}/detail", Name = "GetSingleCasenote")] [ResponseType (typeof (client_admission_casenote))] và sau đó sử dụng tên trong bài: return CreatedAtRoute ("GetSingleCasenote ", mới {id = client_admission_casenote.casenote_id}, client_admission_casenote); } –
Ah, đó là vì tôi đã thay đổi giá trị "id" mặc định thành "casenoteId". Tôi phải thay đổi thành: CreatedAtRoute ("GetSingleCasenote", mới {casenoteId = client_admission_casenote.casenote_id}, client_admission_casenote); } Cảm ơn bạn nhiều Ronnel !!! –
im vui vì bạn đã làm việc đó. – Ronnel