2014-01-28 4 views
0

Я не знаю, не хватает ли я чего-то очевидного.Почему asp .net mvc web api не поддерживает пользовательские операции?

Я вижу, что asp .net web api поддерживает стандартные операции Get(), GetById(), Add, Update, Delete. Но он не поддерживает некоторые пользовательские операции/действия, такие как, например, «Get_CustomDataForModel», «Do_SomePostWork» или «Do_somecalc_and_return_a_list» любые такие пользовательские операции.

Я попытался найти этот вопрос, но не смог получить прямой ответ. Если это дубликат, pls дают мне правильную ссылку.

Это потому, что HTTP REST-запросы должны поддерживать только один метод для каждого URL-адреса для GET, POST, DELETE, PUT и т. Д.,?

Я пропустил что-то очевидное, пока оно его поддерживает, и я не вижу его?

Есть ли способ добавить, скажем, 30 различных действий с 15 получить и 15 сообщений? (PS: Я знаю, что 30 действий внутри контроллера - плохая идея, но прошу только ради понимания)

ответ

2

По умолчанию Web API поддерживает маршрутизацию на основе метода HTTP. Но он поддерживает маршрутизацию в стиле RPC на основе методов действий. Посмотрите раздел «Маршрутизация по названию действия» в http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api. Кстати, в контроллере возможно иметь 30 различных методов действий, но разве это не кошмар для обслуживания?

+0

Yup, я понимаю кошмар :) Но почему я поставил вопрос, чтобы понять, если это возможно. Спасибо за ваш ответ. – Muthu

Смежные вопросы