問題タブ [javax.validation]
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.
mysql - javax.validation.ConstraintViolationException が原因で JPA トランザクションをコミットできませんでした
休止状態でデータベースの更新を実行しているときに問題に直面しています。repository.add(Object) 操作を試行すると、検証例外が発生します。
モデル クラスに検証を追加しましたが、挿入しようとしている値は要件を満たしているように見えるため、何が問題なのかわかりません。
検証アノテーションを削除すると、repository.add(object) が正常に完了する可能性があります。
アドバイス等ありましたらよろしくお願いします。
MySQL (8.0.17) スキーマ
休止状態の構成 (application-test.yml)
モデル (Car.java)
リポジトリ (CarRepository.java)
サービス (TestService.java)
スプリング ブート 2.3.1
Maven (pom.xml) データ関連の依存関係
JUnit テスト (MiscTest.java) (検証要件を満たしている必要があります)
例外を受け取りました
java - javax 検証の特定のグループの実行
私のアプリケーションには、このオブジェクトの JSON を取得するエンドポイントがあります。次に、このオブジェクトを呼び出しcalculateSomething()
て、数値を http 応答として返します。これらの値を で検証していますjavax.validation
。クラスのオブジェクトがどのようExample
に検証されているか、またはこのオブジェクトのどの値がこの特定のエンドポイントで検証されるかを指定する方法はありますか (複数のエンドポイントがあります)。たとえば、この場合、このエンドポイントが呼び出された場合、 のみone
が検証さtwo
れます。three
これらは に必要な唯一の値であるためですcalculateSomething()
。
クラス:
終点:
java - 必須フィールドの Json リクエスト検証 - springboot rest-api
以下の json リクエストでは、給与が学生レベル、研修生レベル、プロパティ レベルの 3 つのレベルで利用可能であることがわかります。
私の申請には給与が必須であるため、給与は少なくとも 1 つのレベルで利用できる必要があります。
給与フィールドとその値がすべてのレベルで利用できない場合、何らかのエラーがスローされ、残りの Web サービスによって要求が処理されるべきではありません。給与がいずれかのレベルで利用可能な場合、要求は受け入れられ、残りの Web サービスによって処理される必要があります。
現在、json リクエストの検証にjavax.validation.constraintsを使用しています。上記の要件を達成する方法はありますか?
java - Javax Validation - 無効な値の注釈ロギングを無効にする
次のようにフィールドに制約を設定しました。
正規表現は正しく機能していますが、無効な値の場合、値がログに記録されます。
注釈でこのロギングを無効にする方法はありますか? これまでのところ何も見つかりませんでした。
一般的にログを無効にしたくはありません。この値の出力だけです。値をマスキングするだけで十分です。
編集:
私自身の質問に対する答えを見つけました。デフォルトの例外ハンドラーをオーバーライドできます。