Json Объект с одним атрибутом или примитивный тип данных Json? - PullRequest
0 голосов
/ 11 сентября 2018

Я создаю REST API, который создает ресурс.Ресурс имеет только один атрибут, который является довольно длинной и уникальной строкой.Я планирую отправить эти данные в API как JSON.Я вижу два варианта моделирования данных как JSON

  1. Примитивный тип данных JSON String
  2. Объект JSON с одним атрибутом String.

Обаварианты работы.

Какой из этих двух вариантов предпочтителен для этого контекста?И почему?

1 Ответ

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

Базовый ответ для возврата

Я бы лично использовал вариант 2, а именно: `Объект JSON с одним атрибутом String. '

Кроме того, с точки зрения дизайна: я предпочитаю возвращатьобъект, который имеет ключ / значение.Ключ также является именем, предоставляющим контекст для того, что было возвращено.

При возврате только строки, в основном "" или {""} не хватает этого контекста (имя возвращаемой переменной.

Дискуссия: являются ли примитивные строки объектами Json?

Кажется, также есть некоторая путаница относительно того, является ли String самой по себе действительным документом JSON.

Эта путаница и споры довольно очевидны в следующих постах, где упоминаются различные технические характеристики: Isпримитивный тип, который считается JSON?

Единственное, что можно сказать наверняка, это то, что объект JSON с парой ключ-значение определенно действителен!

Что касаетсяСама строка .. Я не уверен (требуется больше чтения).

Обновление: ответ С точки зрения создания / обновления сущности (Post / Put)

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

В конкретном контексте отправки данных я бы на самом деле был доволениспользуя либо1 или 2. Кроме того, 1 кажется более оптимизированным (если ваши фреймворки поддерживают его), поскольку контекст о том, что представляют собой данные, связан с методом оставшегося API.

Однако, если в будущем вам потребуется добавить еще один параметр, вам придется использовать сущность JSON с более чем одним ключом.

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