リクエストを解析し、数値のパラメータを取得する必要がある compojure ベースのアプリがあります。実際にリクエストを処理する前に、パラメータが存在し、それらが数値であることを確認できるようにしたいと考えています。これは私がこれまでに持っているものです:
(defn get-int [str]
"Returns nil if str is not a number"
(try (Integer/parseInt str)
(catch NumberFormatException _)))
(defn some-request [request]
(let [some-number (get-int (get-in request [:route-params :some-number])
other-number (get-int (get-in request [:route-params :other-number])]
(if (every? identity [some-number other-number])
(process-the-request)
(bad-request "The request was malformed")))
文字列 -> 数値変換を行うより良い方法はありますか?
リクエストの検証を行うためのより良い方法はありますか?