[英]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]}
如果您正確使用HttpClient
和HttpRequestBase
( HttpGet
, HttpPost
等),則可以很好地發送標頭。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.