Ich muss die folgende WebAPI-Methode implementieren:
/api/books?author=XXX&title=XXX&isbn=XXX&somethingelse=XXX&date=XXX
Alle Parameter der Abfragezeichenfolge können null sein. Das heißt, der Aufrufer kann von 0 bis zu allen 5 Parametern angeben.
In MVC4 Beta habe ich Folgendes gemacht:
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 verhält sich nicht mehr so. Wenn ich weniger als 5 Parameter spezifiziere, antwortet es mit einem 404Sprichwort:
Auf dem Controller 'Books' wurde keine Aktion gefunden, die der Anforderung entspricht.
Was ist die richtige Methodensignatur, damit sie sich wie früher verhält, ohne den optionalen Parameter im URL-Routing angeben zu müssen?
Getso dass es automatisch an die HTTP GETMethode gebunden wird ...
string?ist kein gültiger Typ. Sie können nicht stringals nullbaren Typ deklarieren, da es sich um einen Referenztyp handelt.