Я начинаю использовать Erlang с Cowboy и Leptus для создания REST API.
Поэтому я просто попробовал что-то простое:
myapp_handler.erl
-module(myapp_handler).
-compile({parse_transform, leptus_pt}).
-export([init/3]).
-export([cross_domains/3]).
-export([terminate/4]).
-export([post/3]).
%% Cross Domain Origin
%% It accepts any host for cross-domain requests
cross_domains(_Route, _Req, State) ->
{['_'], State}.
%% Start
init(_Route, _Req, State) ->
{ok, State}.
post("/myRequest", Req, State) ->
Json = "[
{
\"test\": \"hello\"
}
]",
{200, {json, Json}, State}.
%% End
terminate(_Reason, _Route, _Req, _State) ->
ok.
После запуска сервера я попытался запустить POST-запрос через curl:
curl -X POST http://127.0.0.1:8080/myRequest --header "Content-Type: текст/json"
И ответ на запрос:
[91,10,32,32,32,32,123,10,32,32,32,32,32,32,34,116,101,115,116,34,58,32,34,104,101,108,108,111,34,10,32,32,32,32,125,10,32,32,93]
Все числа представляют собой десятичное значение символа из таблицы ascii. Но интересно, почему ответ на запрос отображается цифрами, а не буквами. Я сделал что-то не так?
заранее спасибо