CSV データ (ヘッダーなし) を返す古い API の結果を解析しようとしています。関数はparse-response
うまく機能しますが、チェックしようとするとverify-response
で失敗しArityException Wrong number of args (0) passed to: PersistentHashMap
ます。キー フィールドをチェックし、無効な場合は別のエラー ハッシュ マップを作成する関数を介してハッシュ マップを渡すにはどうすればよいですか?
(def response-fields
[:response_code :response_text
:address :city :state :zip_code :country
:phone :fax :email
:first_name :last_name :company
:special_instructions :SpecialCode
])
(defn parse-response
"One line CSV file"
[response]
(zipmap response-fields
(first (csv/read-csv (:body response)))))
(defn verify-response
"Get response if code is valid"
[response-map]
(cond (some? (:response_code response-map)) (response-map)
:else
{:response_code "911"
:response_text "API Failure"}))