मेरे पास कुछ मूल रूटिंग के साथ एक मूल वेब एपीआई 2 सेटअप है।वेब एपीआई 2 पोस्ट - UrlHelper.Link को वापस नहीं लौटना चाहिए
नीचे डिफ़ॉल्ट मार्ग और सम्मिलन के लिए पोस्ट है।
ExceptionMessage:: जब मैं पद रिकॉर्ड डेटाबेस में पूरी तरह से बनाया जाता है लेकिन "CreatedAtRoute" कॉल एक 500 त्रुटि बताते हुए रिटर्न कहते हैं "। UrlHelper.Link अशक्त वापस नहीं आना चाहिए" अपवाद टाइप: "सिस्टम। इन्वाइडऑपरेशन अपवाद"
मुझे यह त्रुटि क्यों प्राप्त होगी?
[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);
}
धन्यवाद Ronnel, इस जानकारी से चाल करना चाहिए लेकिन मैं अभी भी त्रुटि मिलती है। // एपीआई/केसिनोट/5 [मार्ग ("{casenoteId}/detail", नाम = "GetSingleCasenote")] [प्रतिक्रिया प्रकार (टाइपऑफ (client_admission_casenote))] और फिर पोस्ट में नाम का उपयोग करें: वापसी निर्मितएट्रोउट ("GetSingleCasenote ", नया {id = client_admission_casenote.casenote_id}, client_admission_casenote); } –
आह, ऐसा इसलिए है क्योंकि मैंने डिफ़ॉल्ट "आईडी" मान को "casenoteId" में बदल दिया है। मुझे इसमें बदलना पड़ा: MadeAtRoute ("GetSingleCasenote", नया {casenoteId = client_admission_casenote.casenote_id}, client_admission_casenote); } बहुत धन्यवाद रोनेल !!! –
मुझे खुशी है कि आपने इसे काम किया है। – Ronnel