Требуется системное проектирование - структура URL

78
8

Я вот-вот начну писать мобильное приложение, которое должно управлять информацией о (физических) элементах, которые будут отмечены QR-кодом. Каждый QR-код является URL-адресом для конкретного элемента. Элементы будут иметь уникальный идентификатор, который мне нужно сгенерировать с использованием UUID (java.util.UUID).

Я еще не начал кодировать и фактически даже не проектировал систему, но по какой-то причине мне нужно генерировать QR-коды уже. Мне нужен совет по шаблону URL-адресов, которые мне нужно создать. Поскольку ничего не написано и не разработано, я могу в принципе сделать так, как мне хочется.

Можете ли вы, ребята, объяснить мне, в чем разница между двумя методами и тем, что лучше выбрать: 1. http://mydomain.com/id=uuid 2. http://mydomain.com/uuid

Благодарю!

спросил(а) 2021-01-19T21:01:11+03:00 6 месяцев назад
1
Решение
77

Номер 2. близок.

Вы будете счастливы с http://mydomain.com/item/ uuid /

Вы хотите следовать шаблонам проектирования RESTful и сначала использовать своего рода "классное" имя, чтобы вы могли делать другие вещи помимо этих "(физических) предметов, которые будут отмечены QR-кодом"

ответил(а) 2021-01-19T21:01:11+03:00 6 месяцев назад
45

Я не могу себе представить, что QR-генератор заботится о том, в каком формате URL-адрес находится. Вторая, очевидно, короче и может использовать метод перезаписи URL-адресов, чтобы опустить часть "? Id =". Первый пример - это знакомый метод строки запроса, в котором у вас есть key=value&key2=value2&...

Последняя версия QR-кода может хранить почти 3 килобайта данных, поэтому несколько сотен байт, которые занимает ваш URL, не вызовут никаких проблем независимо от того, какой формат вы выберете.


При всем том, что второй вариант, с использованием перезаписи URL, может быть более гибким, если вы когда-либо решите изменить базовую технологию страницы и/или сервера (действие или контроллер или все, что вы делаете для обработки запроса).

ответил(а) 2021-01-19T21:01:11+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема