[解決済み】Spring RestTemplateリクエストに "Accept: "ヘッダーを設定する方法は?
2022-04-04 17:19:33
質問
の値を設定したい。
Accept:
を使っているリクエストで、Spring の
RestTemplate
.
以下は、私のSpringリクエスト処理コードです。
@RequestMapping(
value= "/uom_matrix_save_or_edit",
method = RequestMethod.POST,
produces="application/json"
)
public @ResponseBody ModelMap uomMatrixSaveOrEdit(
ModelMap model,
@RequestParam("parentId") String parentId
){
model.addAttribute("attributeValues",parentId);
return model;
}
そして、これが私のJava RESTクライアントです。
public void post(){
MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>();
params.add("parentId", "parentId");
String result = rest.postForObject( url, params, String.class) ;
System.out.println(result);
}
これは私の場合、サーバー側からJSON文字列を取得することで動作します。
質問です。
Accept:
ヘッダ(例.
application/json
,
application/xml
, ... ) とリクエストメソッド (例.
GET
,
POST
, ... ) を使用するとき、RestTemplateを使用しますか?
解決方法は?
のいずれかを使用することをお勧めします。
exchange
メソッドは
HttpEntity
を設定することもできます。
HttpHeaders
. (使用したいHTTPメソッドを指定することも可能です)。
例えば
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
HttpEntity<String> entity = new HttpEntity<>("body", headers);
restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
私はこの方法が好きだ。なぜなら、この方法は強く型付けされているからだ。
exchange
は
HttpEntity
.
しかし、その
HttpEntity
を
request
引数で
postForObject
.
HttpEntity<String> entity = new HttpEntity<>("body", headers);
restTemplate.postForObject(url, entity, String.class);
に記載されています。
RestTemplate#postForObject
ジャバドック
.
は
request
パラメータはHttpEntity
にするため を追加する HTTPヘッダをリクエストに追加する .
関連
-
[解決済み】クラスパス上にSpring WebApplicationInitializerの型が検出されない
-
[解決済み] Spring Batchのステップスコープの仕組み
-
[解決済み] SpringBootです。以下の候補からメインクラスを1つも見つけることができません。
-
[解決済み] HttpClientリクエストのContent-Typeヘッダーはどのように設定するのですか?
-
[解決済み] Spring Bootアプリケーションにポートを設定する方法
-
[解決済み] Spring RestTemplateのパラメータ付きGET
-
[解決済み] Spring RestTemplateでフォームデータをPOSTする方法は?
-
[解決済み】Spring RestTemplateでJSONオブジェクトの一覧を取得する。
-
[解決済み] Spring RestTemplateのタイムアウト
-
[解決済み] Spring Resttemplateの例外処理
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】クライアントが送信したリクエストは構文的に正しくありません -Spring MVC + JDBC Template
-
[解決済み] 一意なビーンによる春の自動配線。Spring は一致する Bean が 1 つであると予想していたが、2 つ見つかった
-
[解決済み] ApplicationContextException: ServletWebServerApplicationContext が見つからないため、ServletWebServerFactory ビーンを起動できません。
-
[解決済み] spring-ws: エンドポイントマッピングが見つかりませんでした
-
ERROR StatusLogger Log4j2 の設定ファイルがテストに表示されない
-
ソースコード解析:SpringはどのようにIOCコンテナにBeanを登録するのですか?
-
解決方法 原因:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException.NonTransientConnectionExceptionが原因です。
-
Springフレームワークを使用したアイデアで、コンテキストの初期化中に例外が発生し、リフレッシュの試みがキャンセルされる問題
-
[解決済み] Spring RESTfulアプリケーションでResponseEntity<T>と@RestControllerを使用する場合
-
[解決済み] YAMLを使ったSpring @PropertySource