Необязательные параметры строки запроса в ASP.NET Web API

Мне нужно реализовать следующий метод 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, говоря:

No action was found on the controller 'Books' that matches the request.

Какова правильная сигнатура метода, чтобы заставить его вести себя как раньше, без необходимости указывать необязательный параметр в маршрутизации URL?

200
задан DavidRR 13 September 2018 в 02:28
поделиться