【发布时间】:2018-03-23 13:52:36
【问题描述】:
我正在尝试实现 Rest 处理程序并有下一个代码:
-module(example_handler).
-behaviour(cowboy_handler).
-export([init/2,
allowed_methods/2,
content_types_provided/2,
get_json/2]).
init(Req, State) ->
{cowboy_rest, Req, State}.
allowed_methods(Req, State) ->
io:format("allowed_methods~n"),
{[<<"GET">>, <<"POST">>], Req, State}.
content_types_provided(Req, State) ->
io:format("content_types_provided~n"),
{[{{<<"application">>, <<"json">>, []}, get_json}], Req, State}.
get_json(_Req, _State) ->
io:format("get_json~n")
然后当我尝试使用 curl 发送请求时:
curl -H "Accept: application/json" -X POST http://localhost:8080/xxx/xx
我得到下一个输出:
allowed_methods
content_types_provided
get_json() 没有被调用!但是当我使用 GET 方法时,一切看起来都很好:
curl -H "Accept: application/json" -X GET http://localhost:8080/xxx/xx
----------------------------------------------------------------------
allowed_methods
content_types_provided
get_json
我错过了什么?
【问题讨论】:
-
如果您开始自己做某事会很好,当您遇到某事时,请特别询问它。
-
@ɐuıɥɔɐɯ 我改了问题,你能回答一下吗?