Передача необязательного параметра в OData контроллер
Всем доброго времени суток! Есть метод в контроллере:
[HttpPost]
[ODataRoute("Sms(PhoneNumber={key}, StartDate={StartDate})/Sms.SendSmsCode")]
public async Task<IHttpActionResult> SendSmsCode([FromODataUri] string key, bool param=false)
Если обращаюсь к нему вот так - /Sms(PhoneNumber='123456789',StartDate=1900-01-01)/Sms.SendSmsCode?param=true
получаю ошибку: { "error":{ "code":"","message":"No HTTP resource was found that matches the request URI '/Sms(PhoneNumber='123456789',StartDate=1900-01-01)/Sms.SendSmsCode?param=true'.","innererror":{ "message":"No routing convention was found to select an action for the OData path with template '~/entityset/key/action'.","type":"","stacktrace":"" } } }
Если обращаюсь без указания ?param=true - ошибки нет и все работает.
Помогите понять в чем ошибка и как передать параметр?
Ответы (1 шт):
Автор решения: Nick Grava
→ Ссылка
решил проблему так:
public async Task<IHttpActionResult> SendSmsCode([FromODataUri] string key, [FromUri] bool param=false)