我使用基于leptus的Cowboy作为RESTful服务器。我的路由器有问题。
在我的代码中:
post("/restconf/operations/nm-restful:create-mp", Req, State) ->
{200, {json, <<>>, State}.
在牛仔中,当有一个冒号时,它会做绑定。但是如果URL路径中确实存在冒号呢?我不希望它受到约束。官方网站教程中没有关于此问题的信息。
答案 0 :(得分:0)
我查看了cowboy_router
(leptus使用的)的来源,我不认为这是可能的。我看不到任何方法来“逃避”源中的冒号。如果这是真的,那么最好的选择是使用/restconf/operations/:anything
来匹配所有这些路线,然后对函数内部参数的值进行处理。这是一个例子:
post("/restconf/operations/:thing", Req, State) ->
case leptus_req:param(Req, thing) of
<<"nm-restful:create-mp">> ->
{200, {json, <<>>, State};
_ ->
{404, {json, <<>>, State}.