我正面临一个怪异的问题..我正处于开发应用程序的中间,我的所有请求都正常运行,但是后三个请求毫无理由地无法正常工作! 我搜索了可能导致此问题的原因,但我什么都不知道……尽管该请求在Postman中工作正常!
这是我的请求功能:
@FormUrlEncoded
@POST("addContractBenefit")
Call<ResponseBody> addContractBenefit( @Header("Accept") String Accept,
@Header("Authorization") String token,
@Field ("contract_id") int contract_id ,
@Field ("contract_benefit") String contract_benefit
);
这是我的requset调用:
Call<ResponseBody> responseBodyCall = service.addContractBenefit("application/json","Bearer "+prefManager.getAPIToken() , contract_id , b.contractBenefit.getText().toString() );
responseBodyCall.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
mDialog.dismiss();
String jsonStr = null;
try {
jsonStr = response.body().string();
Log.d("response" , jsonStr);
} catch (IOException e) {
e.printStackTrace();
}
JSONObject json = null;
try {
json = new JSONObject(jsonStr);
JSONObject statesResponses = json.optJSONObject("states");
boolean success = statesResponses.getBoolean("success");
if(success){
Toast.makeText(getContext(), getString(R.string.added_successefuly), Toast.LENGTH_LONG).show();
benefitAdapter.notifyDataSetInvalidated();
b.contractBenefits.invalidateViews();
}
}
catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.d("failure", t.getMessage());
mDialog.dismiss();
}});
和RetrofitClientInstance
public static Retrofit getRetrofitInstance() {
if (retrofit == null) {
retrofit = new retrofit2.Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
我所有其他请求都工作正常,但我不知道是什么导致这些请求出错!
答案 0 :(得分:0)
这是服务器错误,需要另一个字符集/集合,这使其不能用于翻新,但可以用于邮递员