Я работаю над созданием контроллеров CRUD OData (ODataController
). Для этого запроса
ИСПРАВЛЕНИЕ http://localhost/MySite/api/MyData(1)
действие PATCH, объявленное ниже, работает. Модель имеет одно свойство, отмеченное KeyAttribute
public async Task<IHttpActionResult> Patch(
[FromODataUri] int key,
Delta<MyModel> modelDelta)
Этот не работает (обратите внимание, что я назвал параметр id
вместо key
). Возвращает 404 - ресурс не найден:
public async Task<IHttpActionResult> Patch(
[FromODataUri] int id, // <--- invalid argument name?
Delta<MyModel> modelDelta)
Я также пытался пометить это действие с помощью [ODataRoute("({id})")]
, но я получаю это
Шаблон пути "({id})" в действии "Исправить" в контроллере "MyData" не является допустимым шаблоном пути OData. В URL-адресе запроса обнаружен пустой сегмент. Убедитесь, что указан действительный URL-адрес запроса.
Есть ли у меня возможность указывать конкретные параметры? И особенно когда у меня может быть 2-3 ключа/параметра. Я хочу иметь возможность использовать patch
как
public async Task<IHttpActionResult> Patch(
[FromODataUri] int id1,
[FromODataUri] int id2,
Delta<MyModel> modelDelta)