問題タブ [spring-restcontroller]
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 - Spring MVC REST はデフォルトで XML を生成します
Spring MVC と REST に問題があります。問題は、拡張子のない URL、または json、html、htm 以外の拡張子の URL を投稿すると、常に xml 応答が返されることです。しかし、デフォルトで text/html 応答にしたいのです。私は多くのトピックを検索していましたが、これに対する答えが見つかりません。
ここに私のコントローラクラスがあります:
これが私のmvcコンテキスト構成です:
実際、組み込みの Eclipse ブラウザーを試してみると正常に動作しますが、firefox または chrome を使用すると、拡張子のない要求に対して xml 応答が表示されます。ignoreAcceptHeader を使用してみましたが、変化はありません。
IEでも動作します:/
誰かがアイデアを持っているなら、助けてください、ありがとう。
java - Spring RESTful Web サービス @initbinder が他の検証を許可しない
次のRestコントローラーがあります:
そして、これはリクエストがキャストされる Bean です。
- コントローラーで、コントロールを指定
binder.setValidator(new ChekAtleastOneValueValidator());
した 場合、 @ValidDocumentModifiedDate`ChekAtleastOneValueValidator
をチェックしません。@notnull
- 私が持っていない場合
binder.setValidator(new ChekAtleastOneValueValidator());
、コントロールは@notnull@ValidDocumentModifiedDate
検証をチェックしますが、チェックしませんChekAtleastOneValueValidator
。
私の質問は次のとおりです: Spring でSpring 検証、カスタム注釈、および @notnull 注釈を使用し、すべての検証のすべてのエラーを取得する方法、または Spring が Spring バリデーターのみを使用できるようにする方法はありますか?
java - SpringJUnit4ClassRunner 単体テストが機能しません。エラー: ApplicationContext を読み込めませんでした
私は春が初めてです。Spring Rest API、つまりモデル、コントローラー、サービスがあります。「mvn install」と入力すると、コンパイル、パッケージ化、およびローカル weblogic へのデプロイが行われます。問題が発生するのは、単体テストを下com.gm.apms.test
に記述し、ExampleControllerTest.java
使用して記述した場合にのみ、という@RunWith(SpringJUnit4ClassRunner.class)
エラーが発生しますApplicationContext not found
。このSpringアプリケーションはJNDIを使用し、jdbc接続も書きましたがsrc\main\webapp\WEB-INF
、ファイル名はdatasource-testcontext.xml
、単体テストの実行時にjdbcを使用してアプリケーションをDBに直接接続する方法がわかりませんがJNDI
、デプロイ時に使用します。どんな助けでも大歓迎です。
ExampleControllerTest.java
spring-config.xml
ここに私が得たエラーがあります:
spring-mvc - XML と Java 構成の両方で Spring Security 4 を実装する方法
Spring-Security 4 を Spring MVC Web および REST アプリに実装しようとしています。Spring Security を Java 設定方法で有効にするために 2 つのクラスを追加しました。私はまだweb.xmlを保持したいと思っており、プロジェクト全体をJava構成を使用するように変更したくありません。それを行うとすぐに、次のエラーが表示されます。
ご覧のとおり、springSecurityFilterChain を認識できないと表示されています。これはもちろん、以下に示すように @EnableWebSecurity によって有効にすることになっています。
Spring Security に使用されるクラス:
奇妙なことに、私の web.xml に springSecurityFilterChain を追加すると、実行時に不平を言い、重複した springSecurityFilterChain があると言います。最終的にJava構成で、彼らはこれを行うことに気付きました:
SecurityConfig を MvcWebApp の Java 構成に登録する場所。これは基本的に、私が信じているサーブレットコンテキストの一部になります。
全体として、springSecurityFilterChain を認識させるにはどうすればよいですか? SecurityConfig クラスを web.xml または既存のアプリケーション コンテキストに登録する必要がありますか?
これが最初の問題領域である可能性があると思います。
春のドキュメントは言う:
代わりに、Spring Security を既存の ApplicationContext に登録する必要があります。たとえば、Spring MVC を使用していた場合、SecurityWebApplicationInitializer.
これは私の場合、SecurityConfig を取り、それを Bean にする必要があることを意味しますか? それとも、@Configuration を介して検出できるため、まだ Bean ではないのでしょうか?
新しいJava構成も使用しながら、XML経由でSecurityConfigを認識させるにはどうすればよいですか?
java - スプリング レスト コントローラーが特定のフィールドを返す
私は、Spring MVC を使用して JSON API を設計するための最良の方法を頭の中を調べてきました。IO が高価であることは誰もが知っているので、必要なものを取得するためにクライアントに複数の API 呼び出しを行わせたくありません。しかし同時に、私は必ずしも台所の流しを返したいとは思っていません。
例として、私は IMDB に似たゲーム API に取り組んでいましたが、代わりにビデオ ゲーム用でした。
Game に接続されているものをすべて戻すと、次のようになります。
/api/ゲーム/1
ただし、これらすべての情報が必要なわけではありませんが、必要になる場合もあります。I/O とパフォーマンスの観点から、すべてを呼び出すことは悪い考えのように思えます。
リクエストに include パラメータを指定することでそれを行うことを考えました。
たとえば、インクルードを指定しなかった場合、返されるのは次のとおりです。
ただし、リクエストするすべての情報が必要な場合は、次のようになります。
このようにして、クライアントは必要な情報量を指定できます。ただし、Spring MVC を使用してこれを実装する最良の方法については、ちょっと迷っています。
コントローラーはこんな感じになると思います。
オプションで Game オブジェクトをシリアル化する方法がわかりません。これは可能ですか?Spring MVC でこれにアプローチする最良の方法は何ですか?
参考までに、シリアル化にはJacksonを含むSpring Bootを使用しています。
java - Swagger includePatterns()
Swagger 構成:
レストコントローラー
参照:一部の情報はここから参照されています: http://java.dzone.com/articles/how-configure-swagger-generate
問題/質問:
メソッドでは、API としてパターンをSwaggerConfig.java
指定すると、Swagger 出力ページに表示されませんが、パターンをそのまま含めると表示されます。なんで?このユースケースのとの違いは何ですか?includePatterns()
/account/*
/account/.*
/account/*
/account/.*
アップデート:
別のユースケース
パターンを として追加すると/score/*
、API が Swagger に表示されます。パターンを次のように配置する必要はありません/score/.*
json - Spring RestController を使用して複数のファイルをアップロードする方法
Spring RestController Bean があり、次の構造を受け取る呼び出しを追加したいと思います。
この構造に対応する DTO オブジェクトを作成しようとしましたが、クライアント側で対応する JSON メッセージを作成する方法がわかりませんでした (私にとっては角度のある js アプリケーションです)。
java - 複数のパラメーター値を受け取り、Spring REST で JSON 形式でデータを返すにはどうすればよいですか?
私はSpringが初めてで、Spring MVC4を使用しています。すべてのリクエストを受け取り、リクエスト内の複数のパラメーターを読み取り、最後にパラメーターに基づいてビジネス ロジックを適用し、データを JSON 形式で返す必要があります。
TestController.java:
URL: http://localhost:8080/appname/receiveUpdatedStressScore?value=100&device_model=nokia
しかし、Jsonにない出力を取得しています。ブラウザでの私の出力は..
ここに: 100 device_model nokia
それをJsonに変換する方法は?
json - springMVC json の応答時間を長くする方法
実行時間の長いプロセスを持ち、出力をjsonとして返すSpringコントローラーでは、サーバーでまだ処理している間にコントローラーが空のjsonを返します。春にこれを処理する方法
javascript - Restangular - サーバーに送信されるパラメーターを含む getList
サーバー側にメソッドがあります:
そして、クライアント側からデータを送信しようとしますRestangular
:
可能な場所pagination
:
しかし、私は得ました:
私が探したとき、Request URL
私は見ました:
そしてQuery String Parameters
、次のとおりです。
ページネーションオブジェクトをサーバー側に送信する必要がありますが、オブジェクトではなく文字列を送信しようとします。HTTPGET
メソッドとgetList
Restangular
メソッド send パラメータを使用して、 asQuery String
ではなく、問題の原因と思われる方法はありますか? Pagination
または、サーバー側で文字列ではなくオブジェクトとして扱うにはどうすればよいですか? 回答ありがとうございました