問題タブ [compojure-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
465 参照

clojure - compojure-api の body と body-params の違いは何ですか?

compojure-api で、リソースの API を指定する次の 2 つの方法に気付きました。

これら2つの違いは何ですか?一方と他方を使用することの意味は何ですか?

0 投票する
1 に答える
332 参照

clojure - compojure-api ハンドラーでセッションにアクセスするにはどうすればよいですか?

次のように、compojure-api を使用します。

リングセッションにアクセスするにはどうすればよいですか?

0 投票する
1 に答える
113 参照

clojure - Compojure-api では、特定のルートの form-params にスキーマ検証を適用するにはどうすればよいですか?

docs compojure-apiから...

後でコードで次のようなことを行うことができます。

私の質問はform-params、ルートのためにこれをどのように達成できるでしょうか?

すなわち

0 投票する
1 に答える
645 参照

clojure - compojure-api 戻り値スキーマまたはエラー

compojure-apireturnを使用すると、スキーマを定義できます。

私の問題は、get-pizzafn が 404 を返すとき、(リクエスタへの) 応答は、 404 がスキーマ{:status 404 :body {:message "Invalid id provided"}}と一致しないということです。Pizza

ドキュメントは、複数の応答スキーマを提供できることを示していますが、get-pizzaそれらのスキーマを利用するために fn が何を返す必要があるかは不明です。get-pizza彼らの例では ring-http-response lib を使用して戻り値を生成していますが、私の戻り値 forとring-http-response 'not found' fn の間に違いはありません。

:responses正直なところ、すべてのコードの重複をすでに予測できるため、可能であれば paramを使用したくありません。:returnスキーマを指定する前は、 get-pizzafn で 404 を返してリクエスタに正しく渡すことができましたが、スキーマを追加すると、それができなくなりました。戻り値を一般的に定義されたエラーマップにすることを検討:return (s/one Pizza Error)しましたが、理論上すべての呼び出しが 500 を返す可能性がある場合、すべてのルートに対してErrorこれを行う理由がわかりません。

注: param の使用に切り替えた理由:returnは、生成された swagger-ui ドキュメントがより見やすく、理解しやすくなるためです。

0 投票する
2 に答える
623 参照

clojure - 引数を取らず、定数値を返すリテラル関数を作成するにはどうすればよいですか?

私は Clojure を学ぼうとしていますが、リテラル関数の構文で詰まっています。に相当するリテラル関数が何であるかわかりません(defn fourteen [] 14)

これは、無名関数が clojure で期待する引数の数は何ですか? 、しかし多分そうであり、私はそれを認識する経験を持っていません.

(literal-14)呼び出しが機能するようにするには、literal-14 を定義する方法、または定義できますか?

0 投票する
2 に答える
3904 参照

clojure - compojure-api を使用したオプションのクエリ パラメータ (デフォルト値あり)

を使用するときに、オプションのクエリ パラメータをデフォルト値で宣言する適切な方法は何compojure-apiですか?

私のルート要素の1つは次のとおりです(これを読んだ後):

最初はブール値のパラメーターが他のパラメーター (例: ) として定義されていましたが、生成された Swagger UI はそれらをデフォルトの値をshow-future Boolean持つコンボボックスとして提示しました。true現在のフォームでは、UI にはオプションが選択されていないコンボボックスが表示されます。同じことがテナントにも起こります。

副次的な質問: Swagger で生成された UI を使用してリクエストを送信すると、エラーが返されます: "levels": "(not (instance? java.lang.Integer \"2\"))". 何故ですか?ライブラリは、文字列値を API によって宣言された指定された型に強制/変換することになっていませんか?

前もって感謝します。