我的网址是
当我使用此代码时,响应代码始终为500。
接口代码
@Headers({ "Content-Type: application/json;charset=UTF-8"})
@PATCH("customers/{custId}")
Call<GeoTag> postGeoTagData (@Body geoTagUserData geoTag, @Path("custId") String id, @Header("Authorization") String auth);
活动中
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(" http://sales.erprnd.com/api/v2/")
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiInterface apiInterface = retrofit.create(ApiInterface.class);
Call<GeoTag> geoTagCall = apiInterface.postGeoTagData(geoTagUserData, CustCode, "Bearer "+body.getToken() );
geoTagCall.enqueue(new Callback<GeoTag>() {
@Override
public void onResponse(Call<GeoTag> call, Response<GeoTag> response) {
Toast.makeText(GeoTaggingActivity.this, ""+response.code(), Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<GeoTag> call, Throwable t) {
Toast.makeText(GeoTaggingActivity.this, "Failed", Toast.LENGTH_SHORT).show();
}
});
当我使用Postman时,响应为201 AND Response IS {}没关系。我的jsonObject是
{
"latitude":11.22,
"longitude":22.11,
"alt_address":"test address",
"height":"12 ft",
"width":"24 ft",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAAD"
}
我创建了另一个类,我在其中获取用户的所有信息,这是 geoTagUserData 我可以完美地获取所有信息
请帮助我找到错误。
答案 0 :(得分:0)
最后,我得到了解决方案,即当我从我的应用程序发送数据以将数据发送到服务器时,它只是针对每个字段窗体 geoTagUserData 获得值的值,而没有 在JsonFormet中发布转换后的数据。当我的服务器发现我只是不重视JsonFormet时 然后它被拒绝并返回500错误
所以,我的解决方案只是使用 Gson Converter 获取值表单 用户并将其转换为Json对象。并将其发送到服务器,该服务器将返回201