Архитектурное решение относительно серверной части

В моем бэкэнде у меня есть таблица, в которой я храню события (действия).

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

Теперь в своем интерфейсе я хочу создать маршрут для отображения профиля события.
Вместо того, чтобы иметь маршрут как: xyz.com/events/1,
Я бы предпочел скрыть идентификатор, показывая уникальную строку, в которой отображается имя события, но таким образом, чтобы он формировал уникальную строку, которую я могу запросить в моей базе данных.

Я заметил, что некоторые веб-сайты (включая Facebook) могут это сделать.
Они показывают, например. firstname.lastname с номером после этого.

Каков наилучший способ достичь этого?
Как создать уникальную строку из имени события, которое я могу запросить?

0

Решение

В таблице событий я бы сохранил дополнительный уникальный слаг (созданный при сохранении события).
F.E. «Некоторое великое событие» имеет слаг «некоторое великое событие».
Если слизняк не является уникальным, то необходимо дополнительное различие, например «Некоторые пра-событийно-2».
Плагин используется для подготовки ссылки и в качестве идентификатора для запроса записи в базе данных.

Есть много библиотек для генерации слизней, проверьте github.

0

Другие решения

Других решений пока нет …