Кодировать тип объекта в идентификатор объекта / UUID - PullRequest
0 голосов
/ 26 марта 2019

Известны ли способы встраивания типа сущности / имени таблицы в поле id?

По сути, мы рассматриваем создание общих конечных точек, где вы можете запросить что-то вроде https://api.mysite.com/duplicate/1234, а бэкэнд сможет определить, что это за сущность, по идентификатору. Это только один вариант использования, есть пара других, которые я могу расширить при необходимости.

Используя пример Facebook, я могу посетить https://facebook.com/<postId>, и он направит меня к сообщению, вместо того, чтобы делать https://facebook.com/<pageId>, что приведет меня к странице. Мы ищем функциональность, аналогичную этой.

Несколько вещей, о которых мы думали:

  1. Используйте UUID, замените первые 8 символов подстрокой имени объекта / таблицы sha1'd. Затем сопоставьте sha1 с именем сущности.

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

Есть ли лучшие способы / лучшие практики для достижения этой цели?

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