1

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(サーバーが受け入れる唯一のヘッダーのようです)。それを変更する方法が見つかりません ( と の両方add()setContentType()方法で試しました)。どうすればよいですか?

4

2 に答える 2

2

以下を試してみてください。私にとってはうまくいきます。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);
于 2013-09-25T21:49:12.330 に答える
1

出力

{Content-Type=[application/json]}

Logステートメントに表示されているのStringは、メソッドによって返されたtoString()ものであり、実際に送信されたヘッダーではありません。例えば

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]}

HttpClientand HttpRequestBase( HttpGet、など) を正しく使用している場合HttpPost、ヘッダーは正常に送信されます。

于 2013-09-26T01:19:29.000 に答える