10

Retrofit ライブラリを使用して JSONObject を POST しようとしていますが、受信側でリクエストを見ると、コンテンツの長さが0.

RestService インターフェースで:

@Headers({
        "Content-type: application/json"
})
@POST("/api/v1/user/controller")
void registerController( 
     @Body JSONObject registrationBundle, 
     @Header("x-company-device-token") String companyDeviceToken, 
     @Header("x-company-device-guid") String companyDeviceGuid, 
     Callback<JSONObject> cb);

そして、それは次のように呼び出されます。

mRestService.registerController(
    registrationBundle, 
    mApplication.mSession.getCredentials().getDeviceToken(), 
    mApplication.mSession.getCredentials().getDeviceGuid(),
    new Callback<JSONObject>() {
        // ...
    }
)

そしてregistrationBundleJSONObjectが null または空ではないことは確かです (他のフィールドは確かに問題ありません)。リクエストが行われた時点で、次のようにログアウトします {"zip":19312,"useAccountZip":false,"controllerName":"mine","registrationCode":"GLD94Q"}

リクエストの受信側で、リクエストにContent-type: application/jsonが含まれていることがわかりますContent-length: 0

このような本文で JSON を送信できない理由はありますか? Retrofit を使用する際に簡単なことを見逃していませんか?

4

1 に答える 1