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>() {
// ...
}
)
そしてregistrationBundle
、JSONObject
が null または空ではないことは確かです (他のフィールドは確かに問題ありません)。リクエストが行われた時点で、次のようにログアウトします {"zip":19312,"useAccountZip":false,"controllerName":"mine","registrationCode":"GLD94Q"}
。
リクエストの受信側で、リクエストにContent-type: application/json
が含まれていることがわかりますContent-length: 0
。
このような本文で JSON を送信できない理由はありますか? Retrofit を使用する際に簡単なことを見逃していませんか?