HTTP请求无法与翻新配合使用,但在邮递员中可以正常使用

时间:2018-11-25 00:15:29

标签: android retrofit2 postman okhttp

我正面临一个怪异的问题..我正处于开发应用程序的中间,我的所有请求都正常运行,但是后三个请求毫无理由地无法正常工作! 我搜索了可能导致此问题的原因,但我什么都不知道……尽管该请求在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;
    }

我所有其他请求都工作正常,但我不知道是什么导致这些请求出错!

1 个答案:

答案 0 :(得分:0)

这是服务器错误,需要另一个字符集/集合,这使其不能用于翻新,但可以用于邮递员