問題タブ [spring-web]
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.
spring - 例外ハンドラー アノテーションを使用して応答本文にエラー コンテンツを書き込むことにより、HttpMediaTypeNotAcceptableException を処理する方法は?
クライアントが application/xml の Accept ヘッダーを使用して application/json コンテンツを生成するリソースを要求した場合。リクエストは HttpMediaTypeNotAcceptableException 例外で失敗し、以下のコードで説明されているように、例外ハンドラー アノテーションを使用して、レスポンス エンティティ オブジェクトのエラー メッセージ本文にラップされます。ただし、HttpMessageConverter でレスポンスに戻り値を書き込むと、再度 HttpMediaTypeNotAcceptableException を受け取ります。これは、許容可能なリクエスト タイプのレスポンスに対して生成可能なコンテンツ タイプをチェックするためですが、これはまさに、エラー メッセージを使用してクライアントに伝えようとしているものです。この問題を回避するにはどうすればよいですか? ところで、他のすべての例外はエラーメッセージにうまく解析されています。お知らせ下さい。
json - RestTemplate が HAL+JSON 応答からリンクを削除するのはなぜですか?
Spring DATA REST を通じて公開された API をテストするために RestTemplate を使用していますが、応答を解析するときにリンクを取得できません。残りのテンプレートは、Jackson2HalModule でサポートされている HttpConverter で構成されており、要求されたエンティティには、JSON 応答に表示される関連付けへのリンクがあります。
これがJSONです
HAL+JSON レスポンスを取得しているため、RestTemplate はこの投稿でアドバイスされているように構成されています。
ここで、解析された応答オブジェクトでもリンクが利用できることを期待していますが、そうではありません。応答を取得する方法は次のとおりです
しかし、会場リンクのアサーションは失敗します
を与えるNullPointerException
spring - フォーム送信の大文字化のための WebDataBinder customEditor (一方向)
アプリケーションの特定のフォームについては、レガシー システムとの互換性のためにデータベースに大文字で保存する必要があるという特定の要件があります。さまざまなソリューションを調べたところ、これを実現するのに役立つ Spring Web-MVC の 2 つの機能が見つかりました。
- Spring Converter SPI を作成し、WebMVC 構成を使用して登録します
- カスタム PropertyEditor を作成し、WebDataBinder API を使用してアタッチします。
最初のアプローチでは、すべてを大文字に変換します。これは、アプリケーション レベルで登録されており、特定の形式のみに制限したいためです。
2 番目のアプローチは、手動で選択したコントローラーに適用できます。
どちらも機能します。ただし、2 番目のアプローチでは、レンダリング フェーズ中にカスタム PropertyEditor が呼び出されないようにします。フォームが送信されるときにのみ呼び出す必要があります。そして、それに対処できるソリューションを探しています。
念のために言っておきますが、解決策は上記のアプローチのいずれかに固執する必要はありません。また、入力フィールドの JavaScript リスナーがすべてを大文字に変換するのは避けたいと思います。
java - イテレータを使用してマップするjsonは、最初のキー値のみを読み取ります
だから、これは私が持っているjson文字列です。
このコードを使用してマップに保存しています。
ただし、最初の要素、つまり BPDataList のみをマップに格納しています。ここで何が間違っていますか?
これは、印刷したときのマップの内容です。
json
spring - Spring CORS コントローラーのアノテーションが機能しない
1 つのドメインに対してクロス オリジン リクエストを許可したいと考えています。私のプロジェクトでは Spring を使用しているため、新しい CORS サポートを利用したいと考えています。
4.2.0
すべてのspringframework
依存関係にバージョンを使用しています。
https://spring.io/blog/2015/06/08/cors-support-in-spring-framework#disqus_threadの例に従い、最初のバージョンを試しました。私のコントローラーの注釈は次のようになります。
私が正しく理解していれば、 mvc-config は別の方法です。私もそれを試しました:
どちらの方法でも、応答には のようなものが含まれていないようですAccess-Control-Allow-Origin
。また、jsfiddle からの単純なクエリで結果を返すこともできません。
localhost から実行してアクセスしたときの Chrome 開発者ツールのヘッダー情報は次のとおりです。この場合、リクエストは同じドメインからのものであり、javascript を介していませんが、CORS アノテーションはとにかくアクセス制御パラメーターを追加すると思いましたか?
応答ヘッダー:
リクエストヘッダー:
私はスプリング ブートを使用していないため、構成手順を見逃したと思います。
java - Spring sql-error-codes.xml がタイムアウト時に正しい例外を表示しない
myJDBCTemplate.queryForList()
の前に asetQueryTimeout(1)
が設定されているに対して例外が発生すると、次のエラーが発生します。120万行のデータベースがあり、タイムアウト例外が出力されるか、ステートメントが実行されたときに発生するかを探しています。したがって、基本的にタイムアウトは発生しますが、例外はそれについて言及していません。
pom.xml で springFramework-version => 4.1.3.RELEASE を使用しています
Query execution was interrupted, error #1317 states で見つかった回答から、タイムアウトが原因で中断が発生し、これが原因であると考えられます。
また、例外は java.sql.SQLException が原因であると述べていますが、正確な詳細はありません。なぜ発生したのですか? だから、タイムアウトか何かが原因かどうかはわかりません。