私はDjango/Pythonの経験が豊富ですが、ClojureのNoirフレームワークを使用してWebサイトをセットアップするのを手伝っています。Djangoでは、次のようなURLに慣れています。
http://site/some/url
302-自動的ににリダイレクトされます
http://site/some/url/
ノワールはもっとうるさくて、これをしません。
これを自動的に行う適切な方法は何でしょうか?適切なURLはサイトにアドレス指定するための重要な方法であり、多くのユーザーは末尾のスラッシュを忘れてしまうため、これは私のサイトに追加したい基本的な機能です。
編集:@IvanKoblikの提案に基づいて、最終的に私のために働いたものは次のとおりです:
(defn wrap-slash [handler]
(fn [{:keys [uri] :as req}]
(if (and (.endsWith uri "/") (not= uri "/"))
(handler (assoc req :uri (.substring uri
0 (dec (count uri)))))
(handler req))))