如何使用cowboy_rest重定向

Yar*_*Nim 1 rest erlang cowboy

我在如何使用GET请求重定向cowboy_rest时遇到问题.有没有办法在标题中设置<<"location">>以通过cowboy_rest响应浏览器?

重定向是在cowboy_rest中进行的,POST方法是{{ok,URL_to_redirect},Req,State}

但是我找不到用GET方法重定向的方法甚至<<"location">>在cowboy_req的头文件中设置.

谢谢,

P_A*_*P_A 5

您可以使用cowboy_req:reply/4{halt, Req, State}停止执行:

{ok, NewReq} = cowboy_req:reply(
                 302,
                 [{<<"Location">>, <<"http://www.redirect-url.com">>}],
                 <<>>,
                 Req),
{halt, NewReq, State}
Run Code Online (Sandbox Code Playgroud)

  • 感谢P_A,正确的重定向代码是307.因为我使用cowboy_rest(RESTful)句柄所以不需要{halt,NewReq,State}.并且感到奇怪为什么它不需要添加{halt,NewReq,State}. (2认同)