Olhando para o código principal do Magento 2, parece haver duas maneiras de configurar uma rota de administrador.
O primeiro
#File: vendor/magento/module-media-storage/etc/adminhtml/routes.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="admin">
<route id="adminhtml">
<module name="Magento_MediaStorage" />
</route>
</router>
</config>
é semelhante ao Magento 1. Você adiciona seu módulo a uma lista de módulos na adminhtml
rota e o Magento verifica para você.
O segundo
#File: vendor/magento/module-cms/etc/adminhtml/routes.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="admin">
<route id="cms" frontName="cms">
<module name="Magento_Cms" before="Magento_Backend" />
</route>
</router>
</config>
você configurou uma nova rota (id cms
acima) e depois adicionou seu módulo a ela.
Uma dessas é a maneira "certa / preferida" de fazer isso no Magento 2? Se não, qual é a diferença entre os dois? ou seja, quando você usaria um sobre o outro?
Pedindo não para resolver um problema específico, mas para ter certeza de que estou criando minhas rotas da maneira correta e que problemas semelhantes aos módulos Magento 1 (puxando bibliotecas ajax, segurança etc.) sejam evitados.