Начало работы с REST

Я ищу хорошие ссылки с лучшими практиками и пример кода при создании REST полноценных веб-сервисов с использованием .NET.

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

Ответ 1

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

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

Это еще одна полезная запись :

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

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

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

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

4) Hypermedia как механизм состояния приложения: состояние приложения должно быть выражено с использованием URI и гиперссылок для перехода между состояниями. Это, вероятно, наиболее противоречивое и наименее понятное из архитектурных ограничений, изложенных в

Ответ 2

Windows Communication Foundation поддерживает модель REST с .NET 3.5.

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

REST и POX

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

Ответ 3

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

  • Выясните набор данных [т.е. укажите модель данных].
  • Разделите набор данных на ресурсы. Для каждого вида ресурсов:
  • Назовите ресурсы с помощью URI.
  • Вывести подмножество равномерного интерфейса [т. укажите, какие HTTP-методы используются и что они делают].
  • Создайте представления (представления), принятые от клиента (например, формат XML, который вы можете использовать или POST].
  • Создайте представления, поданные клиенту (например, XML, который вы вернетесь].
  • Интегрируйте этот ресурс в существующие ресурсы, используя гиперссылки и формы.
  • Рассмотрим типичный ход событий: что должно произойти? [Это похоже на основной сценарий успешного использования.]
  • Рассмотрим условия ошибки. [Это похоже на сценарии исключения случайных ситуаций.]

Ответ 5

Статьи из RESTful Web xml.com - отличный Введение.

Автор (Джо Грегорио, известность протокола публикации Atom) также регулярно публикует проницательные статьи обо всех вещах ОТДЫХ на его weblog. " RESTify DayTrader" (REST Архитектура, применяемая к эталонному торговому приложению), является хорошей отправной точкой. Мне также нравится " Почему так много веб-фреймворков Python?", в котором показана реализация небольшой поддерживающей веб-среды в Python.

Ответ 6

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

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

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

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