相关疑难解决方法(0)

ASP.NET Web API中的可选查询字符串参数

我需要实现以下WebAPI方法:

/api/books?author=XXX&title=XXX&isbn=XXX&somethingelse=XXX&date=XXX
Run Code Online (Sandbox Code Playgroud)

所有查询字符串参数都可以为null.也就是说,调用者可以指定从0到所有5个参数.

MVC4 beta中我曾经做过以下事情:

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) 
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

MVC4 RC不再像这样了.如果我指定少于5个参数,它会回复404一句话:

未在与请求匹配的控制器"Books"上找到任何操作.

什么是正确的方法签名,使其行为像以前一样,而不必在URL路由中指定可选参数?

c# url query-string asp.net-web-api

200
推荐指数
3
解决办法
21万
查看次数

标签 统计

asp.net-web-api ×1

c# ×1

query-string ×1

url ×1