Это нормально. если наш веб-сервис RESTful не поддерживает XML? - PullRequest
3 голосов
/ 11 сентября 2010

Наш веб-сервис поддерживает только JSON. Мы отвечаем JSON, если можем или отвечаем HTTP-ошибкой 406: не приемлемо, если клиент запрашивает application / xml ... Это все еще считается RESTful?

Ответы [ 5 ]

8 голосов
/ 11 сентября 2010

Да.Принципы REST основаны на первоначальных намерениях протокола HTTP.Нет необходимости использовать XML.На самом деле, XML даже не существовало, когда был создан HTTP ...

1 голос
/ 11 сентября 2010

REST изначально не ориентирован на XML.

Ресурсом может быть любой тип носителя.

Вам просто нужно объявить тип мультимедиа в заголовке HTML Content-Type.

1 голос
/ 11 сентября 2010

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

0 голосов
/ 11 сентября 2010

Ну, первый вопрос: имеет ли значение, если это не RESTful?Пока API хорошо документирован и работает для людей, которым нужно его использовать, я не уверен, что это проблема.

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

Например:

  • GET / foo <- GET-запросы означают загрузку или чтение чего-либо </li>
  • POST / foo <- POST означает отправку данных или изменение </li>
  • PUT / foo / bar <- PUT часто используется для загрузки новых ресурсов.Часто ожидается, что когда вы помещаете объект по URL-адресу, и он успешно выполняется, вы можете снова получить объект по тому же URL-адресу. </li>
  • DELETE / foo / bar <-- должно быть очевидно </li>

Например, если у вашего API была одна конечная точка URL, а метод был выбран чем-то внутри данных POST, то это, вероятно, не RESTful.С другой стороны, если каждый URL представляет ресурс, а API используется для обхода URL, а все, что изменяет что-либо, использует POST / PUT, а все, что запрашивает что-либо, использует GET, это то, что большинство считает RESTful.

0 голосов
/ 11 сентября 2010

Лично я бы все равно посчитал это RESTful. Но это может быть просто мнение.

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

У меня есть RESTful API, который предоставляет только JSON, и я не собираюсь предоставлять XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...