Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 改装:500内部服务器错误_Java_Android_Rest_Retrofit - Fatal编程技术网

Java 改装:500内部服务器错误

Java 改装:500内部服务器错误,java,android,rest,retrofit,Java,Android,Rest,Retrofit,我有500个内部服务器错误,每次当我试图通过改装发送POST请求时。当我发送GET请求时,它将正确发送。我相信服务器端的一切都可以。我的代码怎么了 String ENDPOINT = "http://52.88.40.210"; //model for request FriendModel ff = new FriendModel(); ff.setFriendNumber("380935275259"); ff.setId(51

我有500个内部服务器错误,每次当我试图通过改装发送POST请求时。当我发送GET请求时,它将正确发送。我相信服务器端的一切都可以。我的代码怎么了

    String ENDPOINT = "http://52.88.40.210";
    //model for request
        FriendModel ff = new FriendModel();
        ff.setFriendNumber("380935275259");
        ff.setId(516);
        ff.setNumber("380936831127");

        RestAdapter adapter = new RestAdapter.Builder()
                .setEndpoint(ENDPOINT)
                .build();
        WayfAPI api = adapter.create(WayfAPI.class);
        api.getFriendsLocation(ff, new Callback<List<FriendLocationModel>>() {
            @Override
            public void success(List<FriendLocationModel> friendLocationModels, Response response) {
                for (FriendLocationModel ff : friendLocationModels) {
                    Log.d("myLogs", "===========Successful==========");
                    Log.d("myLogs", "Id: " + ff.getId());
                    Log.d("myLogs", "Number: " + ff.getNumber());
                    Log.d("myLogs", "GeoLocation: : " + ff.getGeoLocation());
                }
            }

            @Override
            public void failure(RetrofitError error) {
                Log.d("myLogs", "-------ERROR-------");
                Log.d("myLogs", Log.getStackTraceString(error));
            }
        });
    }
String端点=”http://52.88.40.210";
//请求模型
FriendModel ff=新的FriendModel();
ff.setFriendNumber(“380935275259”);
ff.setId(516);
ff.设置编号(“380936831127”);
RestAdapter adapter=new RestAdapter.Builder()
.setEndpoint(端点)
.build();
WayfAPI api=adapter.create(WayfAPI.class);
getFriendsLocation(ff,new Callback()){
@凌驾
public void成功(列出friendLocationModels、响应){
对于(FriendLocationModel ff:friendLocationModels){
Log.d(“myLogs”,“成功==========================”;
Log.d(“myLogs”,“Id:+ff.getId());
Log.d(“myLogs”,“Number:+ff.getNumber());
Log.d(“myLogs”,“GeoLocation::”+ff.getGeoLocation());
}
}
@凌驾
公共无效失败(错误){
Log.d(“myLogs”,“ERROR------------”;
Log.d(“myLogs”,Log.getStackTraceString(错误));
}
});
}
请求声明:

@Headers({
        "Accept: application/json",
        "Content-type: application/json"
})
@POST("/api/geo/getLoc")
public void getFriendsLocation(@Body FriendModel friendModel, Callback<List<FriendLocationModel>> response);
@标题({
“接受:应用程序/json”,
“内容类型:应用程序/json”
})
@POST(“/api/geo/getLoc”)
public void getFriendsLocation(@Body-FriendModel-FriendModel,回调响应);
邮递员的请求和响应示例:

在postman中,似乎您发送的是FriendModel数组,但在代码中,您发送的是单个对象

只需更改要发送的对象,而不是发送单个对象,而是按照服务器的预期发送一个列表

    List<FriendModel> friendsList = new ArrayList<FriendModel>();

    FriendModel ff = new FriendModel();
    ff.setFriendNumber("380935275259");
    ff.setId(516);
    ff.setNumber("380936831127");

    friendsList.add(ff);
List-friendsList=new-ArrayList();
FriendModel ff=新的FriendModel();
ff.setFriendNumber(“380935275259”);
ff.setId(516);
ff.设置编号(“380936831127”);
好友列表。添加(ff);
您还应更改此签名:

public void getFriendsLocation(@Body FriendModel friendModel, Callback<List<FriendLocationModel>> response);
public void getFriendsLocation(@Body-FriendModel-FriendModel,回调响应);

public void-getFriendsLocation(@Body-List-FriendsModel,回调响应);

在postman中,您似乎发送了FriendModel数组,但在代码中,您发送的是单个对象。服务器希望得到什么?@UdiI问你答案,是的,服务器端无法识别单个JSON对象。我可以修改服务器端并将其教给可识别的单个JSON对象,但这不是一个好主意。因为,更多的请求-服务器端使用更多的资源。我需要知道如何通过改型使用JSON对象数组发送请求。谢谢,我想在最后几天回答这个问题。非常感谢。
public void getFriendsLocation(@Body List<FriendModel> friendModel, Callback<List<FriendLocationModel>> response);