2016-10-03 4 views
0

ステータス更新PUTリクエストを実行しようとしています。次の例では、ポストマンでは200を返します。改造2:400ボディがあるときにリクエストが不正

URL:

http://www.example.com/users/3/status?seId=1&dt=2016-11-01T00:00:00Z

HEADERS:

のContent-Type:アプリケーション/ JSON

文字セット:UTF-8

許可:ベアラLONG_TOKEN_HERE

BODY:

{ "ステータス":1}

これは私の構造であります改造2リクエスト:

@PUT("users/{id}/status") 
Call<Void> updateEventStatus(@Header("Authorization") String token, 
          @Path("id") int id, 
          @Query("seId") int seId, 
          @Query("dt") String dateTime, 
          @Body Status status); 

リクエストのURLは郵便番号と同じで、ヘッダーも同じですので、本文に関連していると思われます。 Statusは、statusという名前の単一のintフィールドを持つラッピングクラスです。これはthis answer(資格情報と同じで、うまくいきます)という名前で作成しました。私はまたタイプintの身体の状態を作ることを試みたが、それは同様に悪い要求をもたらす。

PostmanリクエストとRetrofit 2リクエストの違いは何ですか?ありがとう!

EDIT:これはレトロフィット2 originalRequestある:

Request{method=PUT, url=http://example.com/api/users/3/status?seId=0&dt=2016-10-04T05:30:00Z, tag=null} 

headers: Authorization: Bearer LONG_TOKEN_HERE 

contentType: application/json; charset=UTF-8 

content: 

0 = 123 
1 = 34 
2 = 115 
3 = 116 
4 = 97 
5 = 116 
6 = 117 
7 = 115 
8 = 34 
9 = 58 
10 = 51 
11 = 125 

Translated content: 
{"status":3} 
+0

'updateEventStatus'に渡す' token'が "Bearer" + LONG_TOKEN_HERE –

+0

の値を持っていることを確かめていますか、私はほとんど全ての方法で使っています。 –

+0

改造を使用して行われたリクエストを投稿できますか? –

答えて

0

は、最終的に、それはサーバ側のバグであった(私は最初に偽SEIDを受け、そのSEIDを使用して置くことを試みました存在しない)。

関連する問題