Лучшие практики для разрешений уровня свойств ресурса REST - PullRequest
0 голосов
/ 13 июня 2018

Представьте себе, у вас есть такой ресурс, возвращаемый API REST по адресу /api/catalogs/1:

{
  items: ['item1', 'item2'],
  details: ['1', '2', '3']
}

Представьте, что вы хотите ограничить доступ к некоторым полям ответов для некоторых пользователей.Например, ограничить доступ к полю details.

Вопрос: какой формат ответа является лучшим в этом случае?

Опция 1 - пропустить поле.

{
    items: ['item1', 'item2']       
}

Опция2 - вернуть пустое поле.

{
    items: ['item1', 'item2'],
    details: null       
}

Есть еще варианты?

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Я думаю, вам следует избегать показа, что details существует, если это не служит реальной цели для потребителей.Так что опустите это поле.

0 голосов
/ 13 июня 2018

Это зависит от ваших потребностей.

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

...