Перейти к содержанию

InvalidTopicPattern

Selyusize\EventsRouter\Exception\InvalidTopicPattern

Шаблон топика в маршруте записан с ошибкой. Исключение возникает при регистрации маршрута, поэтому ошибка в файле маршрутов видна сразу при старте приложения.

Синтаксис шаблонов — в разделе Шаблоны топиков.

Причины и исправления

Сообщение Неверно Верно
шаблон пустой '' order.paid
пустой сегмент .order, order., order..paid order.paid
пробельные символы order paid order.paid
не закрыта фигурная скобка order.{order_id order.{order_id}
лишняя закрывающая фигурная скобка order.order_id} order.{order_id}
параметр должен занимать весь сегмент order-{order_id} order.{order_id} или {order_ref:order-\d+}
* и # должны занимать весь сегмент ord*.paid *.paid
имя параметра должно быть в snake_case {orderId}, {Id}, {_id}, {1id}, {order-id}, {статус} {order_id}, {id}, {id1}, {status}
пустое ограничение {id:} {id} или {id:\d+}
ошибка в regex параметра {id:(\d+} {id:(\d+)}
параметр встречается дважды user.{id}.order.{id} user.{user_id}.order.{order_id}

Регулярные выражения

Ограничение параметра — регулярное выражение PCRE. Оно проверяется на весь сегмент, поэтому ^ и $ не нужны. Ошибка компиляции выражения выводится в сообщении как есть, например missing closing parenthesis.

Внутри ограничения фигурные скобки должны быть сбалансированы: {code:\d{3}} — верно.