Иногда я хочу опубликовать объект запроса в Web Api 2, но большую часть времени я просто хочу использовать параметры URI для фильтрации данных, возвращаемых методом контроллера. Я попробовал это:
[HttpGet][HttpPost]
public ResultVM GetResult(
[FromBody] QueryObjectVM query,
,[FromUri] int? custid = null,
,[FromUri] int? orderid = null
)
Это прекрасно работает, пока я размещаю с объектом запроса в теле. Я могу также включить или не включить параметры Uri также успешно. Тем не менее, объект запроса не удается привязать данные на Get, потому что HttpGet не имеет тела.
Я попытался сделать объект запроса необязательным, но это не удалось как на Get и Post. Привязка данных Web API не похожа на необязательное нулевое присваивание:
[FromBody] QueryObjectVM query = null
Если ответ таков, я должен иметь отдельный метод контроллера для Post и Get, будет ли Web API 2 обрабатывать HttpGet, вызывающий HttpPost, а затем возвращать данные успешно? Я не могу всегда вызывать этот метод с помощью почтовых звонков.