【发布时间】:2019-06-07 15:55:45
【问题描述】:
我正在尝试使用带有动态标头的 Retrofit 2 在 Android 请求中发布原始 JSON,其中包含以下几个标头和我尝试过的代码,但我无法理解出了什么问题。
标题
Accept:text/csv
x-api-key:{{api_key}}
x-session-key:{{session_token}}
x-location:-10,10
x-version:1.0
x-client-id:15
Content-Type:application/json
我要发布的原始 JSON
{
"commands":[
{
"command":"check_in",
"sale_content_id": 1,
"event_id": 3,
"value": true
}
]
}
下面是我的代码
@Headers({"Accept: text/csv", "Content-Type: application/json"})
@POST(CHECKIN_DATA_SCANNER)
Call<CheckIn> sendCheckinDataRequest(@Body JSONObject locationPost);
我如何在我的活动课上进行改造调用
private void sendCheckinDataRequest() {
String mSessionToken = mContext.getSessionToken();
String mAPIkey = "staging_api_key";
String mClientId = "15";
RestInterface service = CheckInServiceGenerator.createService(RestInterface.class, mSessionToken, mAPIkey, mClientId);
Call<CheckIn> call = service.sendCheckinDataRequest(mRawJson);
call.enqueue(new Callback<CheckIn>() {
@Override
public void onResponse(Call<CheckIn> call, Response<CheckIn> response) {
Log.e(TAG, "POST RESPONSE : " + new Gson().toJson(response));
}
@Override
public void onFailure(Call<CheckIn> call, Throwable t) {
// something went completely south (like no internet connection)
Log.d("Error", t.getMessage());
}
});
}
我收到 400 个错误请求错误。 我错过了什么吗?
【问题讨论】:
标签: android json header retrofit2