Иногда может возникнуть необходимость сделать какой-то аргумент в нашем роуте необязательным. Например, у нас аргумент "слак" можно не передавать, чтобы для него было подставлено какое-то определенное значение. В этом случае существует правило, что все необязательные элементы должны находиться обязательно в конце адреса, то есть обязательно находиться в начале, необязательно находиться в конце.

И для того чтобы нам сделать этот аргумент необязательным, во-первых, должны прописать знак вопроса, то есть, что будет означать, что этот аргумент у нас необязательный. И, во-вторых, нам нужно указать здесь значение для этого аргумента, которое идет для него по умолчанию, например, пустая строка. Если я теперь обращусь к этому роуту, не указав "слак", как видите, все у нас работает, все открылось.

Но если я, например, либо не укажу здесь пустое значение по умолчанию, я получу здесь ошибку. Да, то, что у нас обязательно должно быть задано значение по умолчанию, и есть, если я не укажу здесь знак вопроса. Что это элемент, что этот атрибут у нас не является обязательным, получу ошибку 404, что такой роут у нас не найден. То есть, вот два таких действия нам нужно сделать, чтобы наш аргумент стал необязательным, и запомните, что необязательные элементы мы размещаем в конце адреса.