android - HTTP 请求不能与 Retrofit 一起使用,但在 Postman 中可以正常工作
问题描述
我面临一个奇怪的问题..我正在开发应用程序,我所有的请求都可以正常工作,但最后三个没有理由没有工作!我搜索了可能导致此问题的原因,但我什么都不明白……尽管该请求在 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
);
这是我的请求调用:
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;
}
我所有其他请求都工作正常,但我不知道是什么导致这些请求出错!
解决方案
这是服务器错误,它需要另一个字符集/集合,这使它不能与改造一起使用,但可以在邮递员上使用
推荐阅读
- excel - 有没有办法将可点击的超链接添加到 Excel 图表的数据标签?
- r - 将 filter、cross 和 starts_with 组合到 R 中跨列的字符串搜索
- angular - 角度错误 TS2564:属性“用户”没有初始值设定项,并且未在构造函数中明确分配
- google-sheets - Google 工作表:发布一些但不是所有工作表
- jquery - 跨两个手风琴的 Jquery 可排序元素
- javascript - Discord.js message.createdAt 时间和系统时间的区别
- python - 使用 pd.read_excel() 时,有没有办法解决 python 上的 ssl 错误(DH 密钥太小)?
- typescript - 在 Asp.Net Core 应用程序中从 TypeScript 引用 node_modules
- python - Plotly:如何在列中的特定值处对熊猫数据框进行子集化?
- c++ - 我的代码有问题,但我找不到