Devo implementare il seguente metodo WebAPI:
/api/books?author=XXX&title=XXX&isbn=XXX&somethingelse=XXX&date=XXX
Tutti i parametri della stringa di query possono essere nulli. Cioè, il chiamante può specificare da 0 a tutti e 5 i parametri.
In MVC4 beta ero solito fare quanto segue:
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 non si comporta più così. Se specifico meno di 5 parametri, risponde 404dicendo:
Non è stata trovata alcuna azione sui "Libri" del controller corrispondenti alla richiesta.
Qual è la firma del metodo corretta per farlo funzionare come una volta, senza dover specificare il parametro facoltativo nel routing URL?
Getquindi viene automaticamente associato al HTTP GETmetodo ...
string?non è un tipo valido. Non è possibile dichiarare stringcome tipo nullable poiché è un tipo di riferimento.