問題タブ [plumatic-schema]

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 に答える
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 投票する
1 に答える
698 参照

clojure - (Prismatic) Plumatic スキーマ ドキュメント

clojure でのタイピングとドキュメンテーションにプリズマティック/スキーマの使用を検討してきましたが、完全なドキュメンテーションを見つけるのに苦労しました。github の readme には、役立つ基本的な使用法に関する情報がいくつか記載されていますが、多くの未解決の問題が残されています (たとえば、(s/one s/Str "s") で "s" 引数が必要なのはなぜですか)。プリズマティック スキーマの完全なチュートリアルまたはドキュメント ソースを知っている人はいますか?

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

clojure - Clojure のスキーマ内のベクトルを特にチェックする

私のプログラムでは、次のような一種の行列を (ベクトルのベクトルとして) 使用しています。

次のように宣言されたスキーマがあります。

私がやりたいことは、スキーマをさらに制限して、マトリックスが clojure.lang.PersistentVector のベクトル、または (可能であれば) さらに良い、ランダム アクセスをサポートする構造であることを確認することです。スキーマで [ ] を使用するとシーケンスのみがテストされるように思われるため、リストのリストもスキーマに合格します。

この制約をスキーマで表現するにはどうすればよいですか?

0 投票する
0 に答える
357 参照

clojure - Clojure のポリモーフィック スキーマ

ポリモーフィックなスキーマ/型を作成したいと考えており、ベスト プラクティスに興味があります。次の 2 つの例では、イベント、または(たとえば、それぞれ 15 日ごと、または最初の月曜日ごと)Frequencyを繰り返すことができるスキーマを作成できます。monthly by day of monthmonthly by day of week

最初のものは実験的な抽象マップを使用してこれを達成しますが、その構文は扱いにくいです (IMO)。さらに、実験的なパッケージに含まれていることは、少し心配です。

2 番目のものは を使用しますが、これはfrom a tos/conditionalの値を簡単に強制できないという問題があります。これは、REST API または JSON を処理するときに役立ちます。(一方、これには最適です)。typestringkeywords/eq

一般的なケースでは、次のいずれか、または 3 番目のオプションのいずれかが伝達のベスト プラクティスType A is one of Types #{B C D ...}ですか。

2 つのオプション:

あまり役に立たない同様の質問:

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

if-statement - clojure スキーマの検証

Clojure Prismatic スキーマの検証に問題があります。これがコードです。

コードを使用して検証しようとしています:

しかし、それは私にエラーを投げています:

これは、検証しようとしている非常に基本的なコードです。私はclojureに非常に慣れていませんが、まだその基本を学ぼうとしています。

ありがとう、

0 投票する
0 に答える
34 参照

clojure - Prismatic Sc​​hemaとCore.Typedを同時に使用していますか?

私はこれら2つのライブラリを試しています。どちらか一方を単独で使用することはできますが、両方を同時に (つまり、同じファイルで) 使用しようとすると、非常に大きなコンソール エラーが発生し、多数のプリズマティック スキーマ ライブラリ関数が適切に機能していないことを訴えます。注釈付き。core.typed にスキーマを無視させる方法はありますか?