मुझे निम्नलिखित WebAPI विधि को लागू करने की आवश्यकता है:
/api/books?author=XXX&title=XXX&isbn=XXX&somethingelse=XXX&date=XXX
सभी क्वेरी स्ट्रिंग पैरामीटर शून्य हो सकते हैं। यही है, कॉल करने वाला 0 से सभी 5 मापदंडों तक निर्दिष्ट कर सकता है।
में MVC4 बीटा मैं निम्नलिखित करते थे:
public class BooksController : ApiController
{
// GET /api/books?author=tolk&title=lord&isbn=91&somethingelse=ABC&date=1970-01-01
public string GetFindBooks(string author, string title, string isbn, string somethingelse, DateTime? date)
{
// ...
}
}
MVC4 RC अब इस तरह का व्यवहार नहीं करता है। यदि मैं 5 से कम पैरामीटर निर्दिष्ट करता हूं, तो यह एक 404कहावत के साथ उत्तर देता है :
अनुरोध से मेल खाने वाले नियंत्रक 'पुस्तकें' पर कोई कार्रवाई नहीं हुई।
URL राउटिंग में वैकल्पिक पैरामीटर को निर्दिष्ट किए बिना, इसे व्यवहार में लाने के लिए सही विधि हस्ताक्षर क्या है?
Getइसलिए यह स्वचालित रूप से HTTP GETविधि के साथ बाध्य है ...
string?मान्य प्रकार नहीं है। आप इसे stringएक अशक्त प्रकार घोषित नहीं कर सकते क्योंकि यह एक संदर्भ प्रकार है।