Мне нужно реализовать следующий метод 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
поговоркой:
На контроллере «Книги» не найдено никаких действий, соответствующих запросу.
Какова правильная сигнатура метода, чтобы он вел себя так, как раньше, без необходимости указывать необязательный параметр в маршрутизации URL?
Get
того, что он автоматически связан с HTTP GET
методом ...
string?
не является допустимым типом. Вы не можете объявить string
как обнуляемый тип, так как это ссылочный тип.