我需要实现以下WebAPI方法:
/api/books?author=XXX&title=XXX&isbn=XXX&somethingelse=XXX&date=XXX
查询字符串的所有参数都可以为空。也就是说,调用者可以指定从0到所有5个参数。
在MVC4β中,我曾经做过以下事情:
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不再像这样了。如果我指定的参数少于5个,它会返回404
表示:
在控制器“Books”上没有找到与请求匹配的操作。
什么是正确的方法签名,使它的行为像它过去一样,而不必在URL路由中指定可选参数?