Подтвердить что ты не робот

Преимущества использования NancyFx?

Существует еще одна структура для создания HTTP-вызовов под названием NancyFx. Мой вопрос в том, каковы преимущества его использования. Я быстро просмотрел документацию:

https://github.com/NancyFx/Nancy/wiki/Documentation

и похоже, что нет выдающейся функции, из-за которой я хотел бы использовать это. Каковы преимущества использования его через WebHttp?

P.S: Я продолжаю читать о какой-то странной фразе, повторяющей снова и снова "супер-пупер-счастливый путь". Есть ли что-то помимо этого "супер-пупер-счастливого пути"? Любые реальные функции реализованы?

4b9b3361

Ответ 1

Похоже, что он предлагает другой подход к определению "маршрутов" (в смысле MVC) с использованием lambdas для определения относительных путей, аргументов и реализации ответа.

В конечном счете, ключевым фактором является его выразительность. В ASP.NET MVC RouteTable находится в global.asax, а реализация - в элементе управления. Похоже, что в NancyFx это шаблон, который преобладает:

Action["/path"] = args => { return your_implementation_here; }

Пример реализации:

Get["/products"] = id => { return GetRepository().Products.Single( q => q.Id == id); };

Объяснение: HTTP Get to относительная конечная точка "/products" с аргументом "Id" вернет один продукт из репозитория, где аргумент Id соответствует идентификатору продукта.

Выразительный и краткий.

Ответ 2

Отказ от ответственности: я не сторонник NancyFx:)
Я в процессе оценки, должен ли я пойти с NancyFx или с ASP.NET Web API для части REST проекта.

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

  • Легко выполнять операции до и после обработки любого API-запроса в виде ASP-ориентированного способа, так сказать.

  • По умолчанию Framework заботится о принятом возвращаемом типе, поэтому он соответствующим образом преобразует вывод в JSON, XML,...

  • Запросы Lambdas, реализующие запросы, не возвращают фактические заполненные данные, но все еще в форме запроса. После этого все еще можно легко добавить фильтрацию, сортировку и другие операции до фактического выполнения запроса, попадания в БД и возврата фактических данных.

  • Они каким-то образом завернули HttpRequest и предоставили разработчику эквивалент этого, с той разницей, что этот новый объект был инъецирован, и вы можете, конечно, заменить его макетом... Так проще и чистое тестирование.

Возможно, некоторые из этих (все?) уже доступны в ASP.NET Web API и с той же легкостью, я не знаю точно.
НТН