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