Различия между списками элементов и списком элементов

Я думал о пути API, таком как .../lists/items?listId=1,2,3, чтобы получить ответ, как показано ниже.

// Map<Integer, List>
{
  1: [
    {
      "field": "item1"
    },
    {
      "field": "item11"
    }
  ],
  2: [
    {
      "field": "item2"
    },
    {
      "field": "item22"
    }
  ],
  3: [
    {
      "field": "item3"
    },
    {
      "field": "item33"
    }
  ]
}

или

// List<Object>
{
  [
    {
      "field": "item1"
    },
    {
      "field": "item11"
    },
    {
      "field": "item2"
    },
    {
      "field": "item22"
    },
    {
      "field": "item3"
    }
    {
      "field": "item33"
    },

  ]
}

Но в то же время я подумал, что путь API можно использовать для выражения, чтобы получить следующую полезную нагрузку.

// List<List<Object>>
{
  [
    {
      "field": "item1"
    },
    {
      "field": "item11"
    }
  ], 
  [
    {
      "field": "item2"
    },
    {
      "field": "item22"
    }
  ],
  [
    {
      "field": "item3"
    },
    {
      "field": "item33"
    }
  ]
}

Есть ли правильный ответ для трех вышеперечисленных случаев, чтобы написать путь REST API? Если нет, то было бы полезно поделиться своим опытом. Спасибо.

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

Schokokuchen Bäcker 09.05.2022 14:34

@SchokokuchenBäcker Спасибо, что поделились своим мнением! Это действительно помогает.

weaver 10.05.2022 03:36
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
44
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я бы использовал первый способ.

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

Метод карты поддерживает идентификатор/список соединения и разделяет все списки.

Другие вопросы по теме