在空闲时间我正在学习 elixir,现在我正在尝试开发简单的 Elixir API。一切正常,除了当我尝试使用 Postman/curl 插入新值时。当我尝试使用此类数据时:
{
"tree": "nil",
"value": "5"
}
我得到这个错误:(FunctionClauseError) no function clause matching in Access.get/3
。
这是我的端点中的 POST 代码。
post "/insert" do
IO.inspect(conn.body_params)
{status, body} =
case conn.body_params do
%{"tree" => tree, "value" => value} -> {200, process_insert(tree, value)}
BstInsertion.insert(tree, value)
_ -> {400, missing_insert()}
end
send_resp(conn, status, body)
end
插入函数和 process_insert 的示例:
def insert(nil, value) do
%{value: value, ltree: nil, rtree: nil}
end
defp process_insert(_tree, _value) do
Poison.encode!(%{response: "Received insert!"})
end
如果这还不够,我将提供更多代码。感谢您的任何建议和帮助。