次のルート定義があります。
(require '[compojure.core :as ccore]
'[ring.util.response :as response])
(def *main-routes*
(ccore/defroutes avalanche-routes
(ccore/GET "/" [] "Hello World 2")
(ccore/GET "/images/:id" [id] (get-image-response id))))
この例では、リクエスト/
はチャームのように機能し、期待値を返しますHello World 2
。
get-images-responseメソッドは次のように定義されます。
(defn get-image-response
[id]
(let [record (db/get-image id false)]
(-> (response/response (:data record))
(response/content-type (:content-type record))
(response/header "Content-Length" (:size record)))))
私は404を取得しているので、バイナリファイルの提供はまだ完全には機能していません。なぜ何かアイデアはありますか?
編集:わかりました。この問題は、で画像がリクエストされているという事実に関連してい/images/name.jpg
ます。.jpg
ハンドラーを削除するとすぐに呼び出されます。したがって、問題は、拡張機能以外のものにどのように一致させるかということです。