Протокол публикации Atom в реальной жизни

В основном с вашим кодом вы Array не являетесь другим объектом, поэтому вам нужно воссоздать объект из вашего отсортированного массива. Это может быть сделано с помощью функции Reduce для каждой или любой функции зацикливания. Я думаю, что сокращение легче увидеть.

здесь вы используете what you get и возвращаете what you want

const yourResult = [
  {
    "id": "fbl@be-activ-it.fr-Quiz-10",
    "user_id": "fbl@be-activ-it.fr",
    "myposition": 2,
    "points": 38
  },
  {
    "id": "ddd@be-activ-it.fr-Quiz-10",
    "user_id": "ddd@be-activ-it.fr",
    "myposition": 3,
    "points": 37
  },
  {
    "id": "dev@be-activ-it.fr-Quiz-10",
    "user_id": "dev@be-activ-it.fr",
    "myposition": 1,
    "points": 35
  }
]

const whatYouWant = yourResult.reduce((a, c, i) => {
  c['myposition'] = i + 1;
  a[c.id] = c;
  return a;
}, {})

console.log(whatYouWant)

12
задан Milan Novota 14 December 2008 в 00:55
поделиться

4 ответа

Существует также mod_atom - модуль Apache, который хранит записи в файловой системе.

2
ответ дан 2 December 2019 в 22:52
поделиться

Компания, на которую я работаю, разрабатывает много УСПОКОИТЕЛЬНЫХ сервисов. Однако ни один из них не выставляет общедоступные API. (В том смысле, что все сервисы внутренне используются нашими собственными клиентами). Причина, почему мы пошли для архитектурного стиля REST, состояла в том, что мы хотели, чтобы наши сервисы были легко потребляемыми и что еще более важно масштабировались хорошо.

От моего собственного практического опыта я пришел к выводу, что HTTP + формат синдикации ATOM является хорошей идеей, если Вы хотите сохранить вещи гибкими (С точки зрения другой модели содержания, присоединяя и расширяя метаданные, связанные с полезными нагрузками, универсальная форма, анализирующая и т.д.). ATOM гарантирует, что все интерпретируют полезную нагрузку универсальным способом без любого объема для неоднозначности.

Однако, если Вы не имеете никаких подобных сложных требований или не предвидите такие требования затем, Формат Atom мог быть чем-то вроде служебным. (Например, элементы как Автор, Заголовок и т.д. имеет смысл больше в мире блоггинга/RSS и не может иметь смысла в Вашей конкретной проблемной области).

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

Таким образом, по-моему, Паб ATOM хорош при необходимости в гибкости с точки зрения представления данных и если игровая площадка огромна с другим видом клиента.

Однако, если у Вас есть хорошее знание потенциальных клиентов и шаблонов использования сервера/клиента затем, пользовательские форматы могли бы быть хорошей идеей.

Если клиент на базе браузера затем, форматы как JSON являются очень привлекательными.

Надежда это отвечает на Ваш вопрос.

3
ответ дан 2 December 2019 в 22:52
поделиться

Мое собственное исследование до сих пор:

  • Wordpress поддерживает AtomPub как свой протокол API начиная с версии 2.3
  • GData является, вероятно, самым большим выстрелом в поле AtomPub до сих пор
  • Habari - новая система блоггинга обещания продвигает APP как одну из его основных функций
  • BlogSvc.net - сервер AtomPub, занесите механизм в блог для платформы.NET, записанной в C#
  • Шум - проект с открытым исходным кодом, разработанный для облегчения доступа API к Системам Библиотеки
2
ответ дан 2 December 2019 в 22:52
поделиться

Последний раз, когда я проверял (2007 или около того) Atompub, было довольно сложно реализовать. Несмотря на то, что вы можете собрать воедино что-то, что генерирует действительные потоки Atom во время обеденного перерыва, реализация AtomPub была довольно большой задачей.

Это могло бы измениться из-за лучших библиотек и инструментов, но все же это могло бы быть слишком сложным для реализации меньшими сторонами только потому, что это круто.

А отсутствие клиентских приложений-убийц AtomPub практически не заставляет операторов серверов предлагать интерфейс AtomPub.

1
ответ дан 2 December 2019 в 22:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: