Да, для достижения этого у вас есть два варианта: использовать входные данные или создать компилятор маршрута
Использование входов
Вы можете заставить URL-адрес просто перейти к методу info
, в котором нет ничего особенного:
Get().route('/', 'PageController@info').name('info')
Тогда вы можете попасть на такие маршруты, как https://websiteopedia.com/?website=https://www.eventsnow.com/
Тогда внутри метода info
вы получите ввод как обычно:
def info(self, request: Request):
request.input('website') #== 'https://www.eventsnow.com/'
Маршрутный компилятор
Компилятор маршрута - это просто способ скомпилировать регулярное выражение в URL. Вы можете создать новый компилятор одним из способов загрузки в поставщиках услуг.
Этот новый компилятор будет выглядеть так:
def boot(self, view: View):
view.compile('url', r'([^\s]+)')
Тогда вы можете построить маршрут так:
Get().route('/@website:url', 'PageController@info').name('info')
Теперь это скомпилирует это в заданное вами регулярное выражение, и теперь вы можете использовать маршруты, как и раньше.