Вопрос

Я ищу хорошие ссылки с лучшими практиками и примерами кода по созданию ОТДЫХполные веб-сервисы с использованием .NET.

Кроме того, мы будем очень признательны за любой другой ваш вклад в отношении REST.

Это было полезно?

Решение

Службы данных ADO.Net делает его очень простым в сборке и потреблять Веб-сервисы RESTful в мире .Net, однако понимание этих концепций важно.По сравнению с WCF (который позже добавил поддержку REST), ADO.Net Data Services был создан в первую очередь для REST.

Рекомендации по созданию веб-служб RESTful содержит всю информацию о необходимых вам ресурсах.

Это еще один полезный запись в блоге:

Ограничения унифицированного интерфейса описывают, как служба, созданная для Интернета, может быть хорошим участником веб-архитектуры.Эти ограничения кратко описаны следующим образом:

1) Идентификация ресурсов:Ресурс – это любой информационный элемент, который может быть назван и представлен (например,документ, цена акций на данный момент времени, текущая погода в Лас-Вегасе и т. д.).Ресурсы в вашем сервисе следует идентифицировать с помощью URI.

2) Манипулирование ресурсами через представления:Представление — это физическое представление ресурса, которое должно соответствовать допустимому типу носителя.Использование стандартных типов мультимедиа в качестве форматов данных, лежащих в основе вашего сервиса, увеличивает охват вашего сервиса, делая его доступным для широкого круга потенциальных клиентов.Взаимодействие с ресурсом должно быть основано на поиске и манипулировании представлением ресурса, идентифицируемого его URI.

3) Самоописательные сообщения:Следование принципам безгражданства во взаимодействиях вашей службы, использование стандартных типов мультимедиа и правильное указание кэшируемости сообщений с помощью заголовков использования и управления методом HTTP гарантирует, что сообщения являются самоописательными.Самоописательные сообщения позволяют обрабатывать сообщения посредниками между клиентом и сервером, не влияя ни на один из них.

4)Гипермедиа как двигатель состояния приложения:Состояние приложения должно выражаться с помощью URI и гиперссылок для перехода между состояниями.Вероятно, это самое противоречивое и наименее понятное из архитектурных ограничений, изложенных в Диссертация Роя Филдинга.Фактически, диссертация Филдинга содержит явные аргументы против использования файлов cookie HTTP для представления состояния приложения, чтобы подчеркнуть эту точку зрения, однако ее часто игнорируют.

Другие советы

Фонд связи Windows поддерживает модель REST, начиная с .NET 3.5..

Вы можете найти документацию и примеры кода на MSDN:

ОТДЫХ и ОСП

Некоторые ресурсы для изучения REST:

Лучшее введение, которое я читал, это Книга RESTful веб-сервисы, который выходит за рамки объяснения модели и принципов и фактически показывает, как проектировать веб-сервис RESTful.Наиболее полезным является контрольный список того, как написать/задать REST API:

  1. Выясните набор данных [т.е.указать модель данных].
  2. Разделите набор данных на ресурсы.Для каждого вида ресурса:
  3. Назовите ресурсы с помощью URI.
  4. Предоставить подмножество универсального интерфейса [т.е.укажите, какие методы HTTP используются и что они делают].
  5. Разработайте представления, принятые от клиента [например.формат XML, который вы можете PUT или POST].
  6. Разработайте представления, предоставляемые клиенту [например.XML, который вы получите обратно].
  7. Интегрируйте этот ресурс в существующие ресурсы, используя гипермедийные ссылки и формы.
  8. Рассмотрим типичный ход событий:что должно произойти?[Это похоже на основной сценарий успеха варианта использования.]
  9. Рассмотрим условия возникновения ошибок.[Это похоже на сценарии исключений вариантов использования.]

Статьи из журнала "RESTful Интернет"серия в xml.com это отличное введение.

Автор (Джо Грегорио, из Publishing Protocol Fame Atom) также регулярно публикует проницательные статьи обо всех вещах.блог. "RESTify Дэйтрейдер«(Architecture Rest, применяемая к эталонному заявлению на торговлю акциями) является хорошей отправной точкой.Мне также нравится "Почему так много веб-фреймворков Python?", где показана реализация небольшого спокойного веб-фреймворка на Python.

Когда я начал разрабатывать веб-сервисы REST, я прочитал книгу правил проектирования REST API от Марка Масса.Освоив основы и теорию, вы сможете реализовать REST с помощью WCF, HTTPListener или ServiceStack.Все эти фреймворки созданы на базе .NET и достаточно хорошо документированы...

Я бы порекомендовал вам стек сервисов (http://www.servicestack.net/), в Интернете достаточно информации для начала работы.

WCF предлагает веб-API ASP.NET, это нормально, но я им не пользуюсь.

В любом случае, сегодня не существует хорошего REST-фреймворка, вам нужно выбрать тот, который вам будет удобен в использовании, а затем применить теорию, которую вы узнали из книги.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top