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