J'écris une webapp en utilisant la chaîne d'outils Erlang (OTP, rebar3, cowboy, jsx ...). Le code suivant ne fonctionne pas car jsx:is_json/1
est introuvable pendant l'exécution.Impossible de trouver la fonction `jsx: is_json/1` bien que jsx soit inclus et compilé
handle_login(Req, State) ->
{ok, Data, _} = cowboy_req:body(Req),
case jsx:is_json(Data) of
false -> cowboy_req:reply(400,
[
{<<"content-type">>, <<"application/json">>}
],
<<"Invalid JSON">>,
Req);
Stacktrace:
{[{reason,undef},
{mfa,{erbid_api_handler,handle,2}},
{stacktrace,
[{jsx,is_json,[<<"{\"username\":\"tom\"}">>],[]},
{erbid_api_handler,handle_login,2,
[{file,
"/Users/khanhhua/dev/project-erbid/_build/default/lib/erbid/src/erbid_api_handler.erl"},
{line,45}]},
{erbid_api_handler,handle,2,
... truncated for brevity
je dois savoir comment résoudre le problème. Merci.
Quelle commande rebar3 exécutez-vous pour démarrer votre application? – Stratus3D
@ Stratus3D Merci pour votre commentaire. C'est '_build/default/rel/erbid_alpha/bin/erbid_alpha foreground'. De toute façon, j'ai résolu le problème stupide. –