問題タブ [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.

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

spring - Spring Boot クエリ パラメータ マップ バインドをさまざまなタイプに

任意のクエリ パラメータを受け取るレスト コールがあります。これらをキャプチャするために、@RequestParam Map queryParams を使用しています。

マップ内の各エントリを異なるタイプにバインドする必要があります。たとえば、一部は日付、一部は倍精度、一部は文字列などです...

これどうやってするの?

コード例は役に立ちます。

GM

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

java - 入力ストリームをマルチパート http リクエストに追加するには? (ジャワスプリング)

Spring 4 の REST コントローラーを使用して REST サービスを作成し、Spring の RestTemplate でテストしています。

新しいファイルを作成するリクエスト (POST) を受け入れたいと思います。

私のシステムにおけるファイルの概念には、(1) メタデータ、(2) コンテンツの 2 つの部分が含まれます。したがって、MultipartHttpServletRequest を受け入れるようにレスト コントローラーを定義しました。1 つの部分からメタデータ マップを取得し、2 番目の部分からファイル入力ストリームを取得したいのですが、これを機能させる方法がわかりません。

ファイルが非常に大きくなる可能性があり、ユーザーにすべてのファイル データを含む巨大な http 要求を送信させてネットワークに負荷をかけたくないため、要求にファイル全体ではなく入力ストリームを含めることが重要です。

以下に、テスト Http リクエストを送信するために使用する REST コントローラー メソッドとテストの非動作実装を示します。以下のコードを実行すると、500 Server Error 例外が発生します。これは、RestController の構成方法とリクエストが正しく一致していないと思われるためです。

コントローラーで、Map と InputStream の代わりに @RequestParam の汎用オブジェクトを作成しようとしました。これは 500 例外なしで実行されますが、オブジェクトは文字列として解釈されます。これは私が望むものではありません (これはメタデータを処理するためには問題ありませんが、ファイルの InputStream が必要です!)。

リクエストを作成します。

リクエストを処理するための Rest Controller メソッド:

0 投票する
4 に答える
1028 参照

angularjs - @RequestBody が機能しない - HTTP ステータス 415

私は問題があります。angularjsを使用してコントローラーにhttp投稿を送信してみます。

ここAngularjs

ヘッダーは

しかし、「HTTP - 415 ステータス。リクエスト エンティティが、リクエストされたメソッドのリクエストされたリソースでサポートされていない形式であるため、サーバーはこのリクエストを拒否しました」をキャッチします。どうすれば解決できますか?

応答ヘッダー

pom.xml

サーブレット.xml

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

java - 既存の Obj インスタンスで PersistentEntityResourceAssembler.getResource を使用すると NullPointerException が発生する

HAL リンクとカスタム メソッドを使用して安らかなコントローラーを構築しようとしています。PersistentEntityResourceAssembler (HAL リンク) から getResources を使用していると、NullPointer が発生します。

スタックトレース

PersonAttendanceListBuilder

出席状況サービス

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

spring-security - Spring が RequestMethod.DELETE を許可しない

サービスメソッドを呼び出すこのエンドポイントがあり、次にレポクラスを呼び出してユーザーを削除しますが、郵便配達員を介してこのエンドポイントを呼び出すと、コンソールに「メソッドがサポートされていません」というリクエストが表示されます。

受け取ったメッセージはRequest method 'DELETE' not supported

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

spring - Spring MVC: RestController にさまざまなクラスを JSON にシリアライズさせる

例として、今日のメッセージ (motd) を返す REST エンドポイントを作成するとします。着信パラメーターは数値で表される日であり、結果は日とメッセージを含む JSON です。

これは次のように翻訳されます...

...そして、このコードによって返されます:

すべてが問題ない限り、これは正常に機能しますが、私の意図は、http ステータス コードと、発生する可能性のあるエラーの理由を説明する JSON の両方を返すことです。

ResponseEntity<Motd>しかし、これは以前に定義されたものと矛盾します。私がこれまでに知っている唯一の解決策はResponseEntity<String>、JSON を自分で定義してシリアル化することです。Springが「さまざまな」クラスを返すことを可能にする代替/よりエレガントな代替はありますか?

私の質問の重点はエラー処理ではありません。たとえば、例外に基づいてこれを行うための巧妙な方法がいくつか示されました。そして、可能であれば、返される可能性のあるすべてのクラスを共通の基本クラスから派生させないようにしたいと考えています。

私のコードは Spring Boot 1.3 RC1 に基づいています。

0 投票する
3 に答える
19022 参照

spring - スプリングコントローラーでプレーンテキストを返す方法は?

次のように単純なプレーンテキスト文字列を返したい:

問題: 次のようなグローバル ContentNegotiation フィルターもあります。

結果: スプリング コントローラーにアクセスするたびに、次のエラーが発生します。

Could not find acceptable representation

質問: コンテンツ ネゴシエーション (保持する必要がある) 内で XML のみが構成されている場合でも、コントローラーがプレーン テキストを返すように強制するにはどうすればよいですか?