Ковбой Маршрутизация с ограничениями продолжает терпеть неудачу

Я пытался использовать это в противном случае простое ограничение маршрутизации

Dispatch = cowboy_router:compile([{'_',
        [
            {"/tokens/:tokenid",{tokenid,int}, paytoken_handler, []}
        ]}]),

но я продолжаю получать ту же ошибку.

Мой запрос curl 10.10.10.56:8080/tokens/1000 -v -H "Content-Type: application / json"

[ошибка] Слушатель ранчо http запустил процесс соединения с cowboy_protocol:start_link/4 при <0.97.0> выход с причиной: {function_clause,[{cowboy_router,check_constraints,[{tokenid,int},[{tokenid,<< "1000 ">>}]], [{файл," SRC / cowboy_router.erl "}, {линия,276}]},{cowboy_router,match_path,4,[{файл," SRC / cowboy_router.erl "}, {линия,264}]},{cowboy_router, выполнение,2,[{файл, "SRC / cowboy_router.erl"}, {линия,172}]},{cowboy_protocol, выполнить, 4, [{файл "SRC / cowboy_protocol. Эрл "}, {линия,529}]}]}

ПРИМЕЧАНИЕ. Когда я удаляю ограничение {tokenid, int}, оно работает нормально.

Dispatch = cowboy_router:compile([{'_',
        [
            {"/tokens/:tokenid", paytoken_handler, []}
        ]}]),

Любая помощь, пожалуйста.

Благодарю.

1 ответ

Решение

Редактировать

Похоже, что ограничения должны быть переданы в виде списка элементов

{"/:id/:h",[{id,int},{h,int}], toppage_handler, []}

для вашего случая это должно работать

{"/tokens/:tokenid",[{tokenid,int}], paytoken_handler, []}

Другие вопросы по тегам