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 404
Sprichwort:
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?
Get
so dass es automatisch an die HTTP GET
Methode gebunden wird ...
string?
ist kein gültiger Typ. Sie können nicht string
als nullbaren Typ deklarieren, da es sich um einen Referenztyp handelt.