2008-09-13 3 views
33

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

Также, любой другой вход, который вы могли бы иметь относительно ОТДЫХА, был бы весьма признателен.

+0

Возможный дубликат [Что такое RESTful-программирование?] (Http://stackoverflow.com/questions/671118/what-exactly-is-restful-programming) – 2013-08-17 05:23:37

ответ

23

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

Guidelines for Building RESTful Web Services имеет всю информацию о необходимых вам ресурсах.

Это еще один полезный blog entry:

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

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

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

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

4) Гипермедиа как двигатель состояния приложения: Состояние приложения должно быть выражено с использованием URI и гиперссылок для перехода между состояниями. Это, вероятно, наиболее противоречивое и наименее понятное из архитектурных ограничений, изложенных в Roy Fielding's dissertation. Фактически, диссертация Филдинга содержит явные аргументы против использования HTTP-файлов cookie для представления состояния приложения, чтобы забить эту точку дома, но ее часто игнорируют.

8

Windows Communication Foundation supports REST model since .NET 3.5.

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

REST and POX

Некоторые ресурсы, чтобы узнать REST:

+0

Платформа Windows поддерживает модель REST, поскольку они включены стек TCP/IP и HTTP-протокол еще в 90-е годы. REST - это подход к решению проблемы, а не библиотека или структура, которые вы подключаете, и все это происходит волшебно. – 2008-09-30 13:07:52

+0

Даррел Миллер, вы должны внимательно прочитать вопросы. Пользователь спросил о поддержке REST в .NET. – aku 2008-09-30 13:17:38

7

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

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

Статья из "RESTful Web" серии на xml.com является отличным введением.

Автор (Джо Грегорио, молва Atom Publishing Protocol) также регулярно публикует проницательные статьи о всех вещах почивать на weblog. «RESTify DayTrader» (REST Архитектура, примененная к эталонному торговому приложению) является хорошей отправной точкой. Мне также нравится «Why so many Python web frameworks?», в котором показана реализация небольшой поддерживающей веб-среды в Python.

1

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

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

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

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