Это хорошая / плохая практика REST для передачи ограничений базы данных в модели ответа - PullRequest
0 голосов
/ 18 июня 2020

Допустим, у меня есть модель данных под названием User, а другая под названием UserType. И я могу удалить UserType, только если тип не используется ни в одной записи User в таблице пользователя.

Теперь, когда я получаю данные UserType, я также получаю ограничения, которые это UserType используется при создании некоторых пользователей или нет?

Каким будет правильный подход в соответствии с передовой практикой REST?

1 Ответ

0 голосов
/ 23 июня 2020

Если вы используете реляционную базу данных, я бы позволил ядру базы данных делать эту работу за вас с ограничениями внешнего ключа. При попытке выполнить эту операцию ядро ​​базы данных генерирует исключение. В вашем коде перехватите это исключение и верните соответствующий код ответа (400, 405, 406, 409, 428, 500, 510 - все претенденты) и текст ошибки с указанием причины (Engli sh - не сообщение об ошибке или трассировка стека - это просто утечка информации к хакерам), почему ее нельзя удалить.

...