Компания, в которой я работаю, разрабатывает множество сервисов RESTful.
Однако ни один из них не предоставляет общедоступных API-интерфейсов (в том смысле, что все сервисы внутренне используются нашими клиентами). Причина, по которой мы остановились на архитектурном стиле REST, заключалась в том, что мы хотели, чтобы наши услуги были легко потребляемыми и, что более важно, хорошо масштабировались.
Исходя из своего собственного практического опыта, я пришел к выводу, что формат синдикации HTTP + ATOM является хорошей идеей, если вы хотите сохранить гибкость (с точки зрения разной модели контента, присоединение и расширение метаданных, связанных с полезными нагрузками, унифицированное). разбор и т. д.). ATOM гарантирует, что все интерпретируют полезную нагрузку единообразным образом, не допуская двусмысленности.
Однако, если у кого-то нет таких сложных требований или он не предусматривает таких требований, то формат ATOM может быть немного накладным. (Например, такие элементы, как «Автор», «Заголовок» и т. Д. Имеют больше смысла в мире блогов / RSS и могут не иметь смысла в вашей конкретной проблемной области).
Кроме того, если цель состоит в том, чтобы просто сериализовать структуры данных на одном конце и реконструировать их на другом конце, то большинство веб-сред (например, WCF) имеют настраиваемые форматы, которые более привлекательны.
Так что, на мой взгляд, ATOM Pub - это хорошо, если вам нужна гибкость в плане представления данных и если игровое поле огромно для разных типов клиентов.
Однако, если у вас есть хорошее знание потенциальных клиентов и моделей использования сервера / клиента, то может быть хорошей идеей являются пользовательские форматы.
Если клиент основан на браузере, форматы, такие как JSON, очень привлекательны.
Надеюсь, это ответит на ваш вопрос.