【问题标题】:Cowboy Routing with constraints keeps failing带有约束的牛仔路由不断失败
【发布时间】:2014-01-13 08:32:51
【问题描述】:

我一直在尝试使用这个原本简单的路由约束

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 开始了连接过程,原因是:{function_clause,[{cowboy_router,check_constraints,[{tokenid,int},[{tokenid,>}]],[{file,"src/cowboy_router.erl"},{line,276}]},{cowboy_router,match_path,4,[{file,"src/cowboy_router.erl"} ,{line,264}]},{cowboy_router,execute,2,[{file,"src/cowboy_router.erl"},{line,172}]},{cowboy_protocol,execute,4,[{file,"src /cowboy_protocol.erl"},{line,529}]}]}

注意:当我删除约束 {tokenid, int} 时,它可以正常工作。

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

请帮忙。

谢谢。

【问题讨论】:

    标签: routing erlang constraints cowboy


    【解决方案1】:

    编辑

    看起来约束必须作为项目列表传递

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

    对于您的情况,这应该可以工作

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

    【讨论】:

    • 那行不通。您只会得到变量“名称”未绑定
    • 是的,它现在可以工作了,从文档中看不太清楚。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    • 2019-11-01
    相关资源
    最近更新 更多