J'apprends actuellement à coder Erlang. J'ai une application web sur Chicago Boss. J'ai un modèle appelé Todo, et je voudrais proposer des opérations CRUD comme API REST.Comment puis-je optimiser cela?
Dans ma méthode PUT Je possède ce code:
index('PUT', [Id]) ->
Todo = boss_db:find(Id),
Body = element(2, mochijson:decode(Req:request_body())),
%% Set the new values
NewTodo = Todo:attributes([
{subject, proplists:get_value("subject", Body)},
{done, proplists:get_value("done", Body)}
])
,
{json, [{todo, element(2, NewTodo:save())}]}.
Comment puis-je optimiser ce fragment de code? Ou est-ce déjà le meilleur possible?
Existe-t-il un moyen plus "intelligent" de changer les clés d'une liste de biens en clés atomiques? Comme ceci:
[{"subject", "Foo"}] -> [{subject, "Foo"}].
Je trouve aussi genre de fastidieux d'assigner une variable Todo puis un NewTodo. Malheureusement, je ne peux pas trouver de bons exemples d'applications Erlang Chicago Boss sur github que je peux vérifier.
Désolé mais que fait la fonction element()? Je suis nouveau à cela. :) –