複数のアイテムまたは単一のアイテムを返す API 呼び出しに同じ HTTPoison 呼び出しを使用しようとしています。複数のアイテムの応答はそれらを「items」プロパティにスローしますが、単一のアイテムはアイテム情報を JSON 文字列として返すだけです。
これが私のコードです:
def process_url(method, id \\ 0) do
if id > 0 do
"http://api.call.com/#{method}/#{id}?key=API_KEY"
else
"http://api.call.com/#{method}?key=API_KEY"
end
end
def process_response_body(body) do
body
|> Poison.decode!(as: %{"items" => [%Item{}]})
|> Map.fetch!("items")
end
process_response_body で、JSON 応答の項目プロパティを確認し、存在しない場合は別の方法で処理するにはどうすればよいですか?