5

Clojure でルーティングと URL 生成の両方を行う良い方法 (ライブラリまたはコード) は何ですか?

Compojure のソース コードを確認しましたが、そのルーティングが URL 生成にも使用されることを示す兆候は見当たりませんでした。他に何がありますか?

「そのようなライブラリはありません」という答えは、証拠や経験で裏付けられれば、実際には非常に役立ちます。

この質問の動機は、Rails ルーティング ガイドの最初のセクションから来ています。

親愛なる: 私はそこにいる誰か (おそらくあなた?) が「URL の生成について心配する必要はありません。URL の文字列をハードコードするだけです」と言いたがっていることを知っています。はい、それができることはわかってますが、それはこの質問に対する答えにはなりません。:) これは、ルーティングと URL 生成を組み合わせることの知恵や長所と短所についての質問ではありません。それはあなたがそれをどのように行うかについてです。

4

4 に答える 4

4

Pedestalのサービス層は、ルーティングと URL 生成の両方を行います。この機能については、Pedestal ドキュメントのサービス ルーティングのセクションで説明されています。

于 2013-05-28T00:32:18.330 に答える
2

ちょうどこれを行うように見えるルートワンに出くわしました。Compojure と完全に互換性のある小さなライブラリであり、逆方向に実行できるルートを定義する方法を提供します。

ドキュメントから、次のようなルートを定義できます。

(defroute document "/documents/:document-id")

そして、いくつかのヘルパー関数が生成されます:

(document-path :document-id "123")
;; => "/documents/123"

(with-base-url "https://myservice.com"
   (document-url :document-id "123"))
;; => "https://myservice.com/documents/123"
于 2014-02-10T16:34:03.147 に答える
1

ルーティング パターンに名前を付けて URL を生成できるようにする、compojure のルーティング マクロの最小限の置き換えを作成しました。https://github.com/joodie/clout-linkにあります

于 2013-05-28T19:22:35.987 に答える