J'ai besoin d'implémenter la méthode WebAPI suivante:
/api/books?author=XXX&title=XXX&isbn=XXX&somethingelse=XXX&date=XXX
Tous les paramètres de chaîne de requête peuvent être nuls. Autrement dit, l'appelant peut spécifier de 0 à tous les 5 paramètres.
Dans MVC4 beta, j'avais l'habitude de faire ce qui suit:
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 ne se comporte plus comme ça. Si je spécifie moins de 5 paramètres, il répond par un 404
dicton:
Aucune action n'a été trouvée sur les livres du contrôleur qui correspond à la demande.
Quelle est la signature de méthode correcte pour qu'elle se comporte comme avant, sans avoir à spécifier le paramètre facultatif dans le routage URL?
Get
donc il est automatiquement lié à la HTTP GET
méthode ...
string?
n'est pas un type valide. Vous ne pouvez pas déclarer en string
tant que type nullable car il s'agit d'un type de référence.