簡體   English   中英

Spring-更改內容類型HTTP標頭

[英]Spring - changing Content-type HTTP header

我正在使用Robospice與JSON API通信。 這是我為POST請求設置標頭的方式:

mHttpHeaders = new HttpHeaders();
mHttpHeaders.add("Content-Type", "application/json");
Log.d(Global.TAG, mHttpHeaders.toString());

問題是我得到一個類似於以下{Content-Type=[application/json]}的標頭: {Content-Type=[application/json]} ,我需要在其中發送Content-Type:application/json (這似乎是我的服務器接受的唯一標頭)。 我找不到任何更改它的方法(嘗試了add()setContentType()方法),該怎么辦?

您應該嘗試以下方法,它對我有用。 我在Robospice中使用Spring rest模板。

MediaType mediaType = new MediaType("application", "json");
List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();
acceptableMediaTypes.add(mediaType);

HttpHeaders headers = new HttpHeaders();
headers.setAccept(acceptableMediaTypes);

輸出

{Content-Type=[application/json]}

您在Log語句中看到的只是toString()方法返回的String ,而不是實際發送的標頭。 例如

public static void main(String[] args) throws Exception {
    HttpHeaders headers = new HttpHeaders();
    headers.add("Content-Type", "application/json");
    System.out.println(headers);
}

版畫

{Content-Type=[application/json]}

如果您正確使用HttpClientHttpRequestBaseHttpGetHttpPost等),則可以很好地發送標頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM