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 404
dicendo:
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?
Get
quindi viene automaticamente associato al HTTP GET
metodo ...
string?
non è un tipo valido. Non è possibile dichiarare string
come tipo nullable poiché è un tipo di riferimento.