Как настроить OData не обрабатывать исключения, отличные от odata, в Web Api

Я хочу использовать OData в Web Api для нескольких методов действий в контроллере. Что происходит, так это то, что когда я включаю OData в Web Api, формат сообщения об ошибке получает изменения для всех ошибок. Есть ли способ настроить Odata только для определенных маршрутов контроллера/действий.

Сообщение об ошибке перед включением OData выглядит так:

{"Message":"User Name/Password are invalid ."}

Сообщение об ошибке после включения OData выглядит так:

{
  "odata.error":{
    "message":{
      "lang":"en-US","value":"User Name/Password are invalid ."
    }
  }
}

Я хотел бы настроить OData для обработки только определенных контроллеров, чтобы остальные API не влияли на настройку OData. Ваша помощь приветствуется.

4
nl ja de

1 ответы

Одно из больших изменений, которые мы внесли между RC и RTM, заключается в том, что мы полностью удалили метод расширения EnableOData. Мы поняли, что регистрация форматов OData во всем мире была плохой идеей, поскольку она влияет на контроллеры независимо от того, предназначены ли они для управления OData.

Итак, в нашей версии v1 для OData и в наших текущих ночных сборках мы добавили новый базовый класс под названием ODataController. Если вы вышли из ODataController (или EntitySetController), вы автоматически получите поддержку OData только для этого контроллера. Это не должно повлиять на остальную часть ваших контроллеров, как сейчас. Вы также должны использовать config.Routes.MapODataRoute вместо EnableOData.

Вы можете установить нашу последнюю ночную сборку, используя следующие инструкции:

http://blogs.msdn.com/b/henrikn/archive/2012/06/01/using-nightly-asp-net-web-stack-nuget-packages-with-vs -2012-rc.aspx

На данный момент он должен быть довольно стабильным.

3
добавлено
Вам нужно использовать «config.Routes.MapODataRoute»? Я использую пакет AttributeRouting, где в моих маршрутах определяется непосредственно по самому методу действий. Как это работает с маршрутами OData?
добавлено автор Abhijeet Patel, источник
hi - Я немного новичок в odata, но я думаю, что получаю его, так или иначе, если бы я получил эту последнюю сборку, будет ли она готовиться к загрузке и фильтрации на стороне сервера, как в примере для кендо UI: здесь demos.kendoui.com/web/grid/remote-data. HTML
добавлено автор Aaron Anodide, источник
@YoussefMoussaoui Хорошо, но мне бы хотелось разоблачить reuglar non-OData HTTP Get метод, и когда я это сделаю (в ODataController), я получил зарегистрированный <...> HTTP-маршрут без OData. .
добавлено автор Tomas Petovsky, источник
Абсолютно все, что вам нужно сделать, это добавить атрибут [Queryable] к вашему действию после установки пакета OData
добавлено автор Youssef Moussaoui, источник
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)