Я использую .Net MVC4 Web API для (надеюсь) реализации API RESTful. Мне нужно передать несколько параметров в систему и заставить ее выполнить какое-то действие, а затем вернуть список объектов в качестве результатов. В частности, я передаю две даты и возвращаю записи, которые попадают между ними. Я также отслеживаю возвращенные записи, чтобы последующие вызовы не обрабатывались в системе повторно.
Я рассмотрел несколько подходов:
Сериализация параметров в одну строку JSON и выделение их в API. http://forums.asp.net/t/1807316.aspx/1
Передайте параметры в строке запроса.
Каков наилучший способ передать несколько параметров запроса в успокоительный API?Определение параметров в маршруте: api / controller / date1 / date2
Использование POST, которое по своей сути позволяет мне передавать объект с параметрами.
Исследование ODATA, поскольку веб-API (в настоящее время) поддерживает его. Я еще ничего не сделал с этим, поэтому я не очень знаком с этим.
Кажется, что правильные методы REST указывают, когда данные извлекаются, вы должны использовать GET. Однако GET также должен быть нулевым (не вызывает побочных эффектов), и мне интересно, нарушает ли это моя конкретная реализация, поскольку я отмечаю записи в системе API, следовательно, я создаю побочные эффекты.
Это также привело меня к вопросу о поддержке переменных параметров. Если список входных параметров изменится, было бы утомительно пересматривать ваш маршрут для Варианта 3, если это часто случается. И что может произойти, если параметры определены во время выполнения ...
В любом случае, для моей конкретной реализации, какой выбор (если есть) кажется лучшим?