Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
Android 尝试使用改装发布时响应不成功_Android_Json_Web Services_Retrofit - Fatal编程技术网

Android 尝试使用改装发布时响应不成功

Android 尝试使用改装发布时响应不成功,android,json,web-services,retrofit,Android,Json,Web Services,Retrofit,我正试图将数据发布到使用改型,但我没有得到成功的响应 json请求的示例:- {"params": {"password": "8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92", "email": "jkowalski@test.pl"}, "method": "login", "id": "12345", "jsonrpc": "2.0"} 成功响应的示例:- {'jsonrpc': '2.0', '

我正试图将数据发布到使用改型,但我没有得到成功的响应

json请求的示例:-

   {"params": {"password": 
"8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92", "email": 
"jkowalski@test.pl"}, "method": "login", "id": "12345", "jsonrpc": "2.0"}
成功响应的示例:-

{'jsonrpc': '2.0', 'id': '12345', 'result': {'roles': [0], 'token': 
'VDKlZYXucIWdhvnbgFEPitkN', 'uid': 1}}
用户模型:-

public class User {

    private Params params;

    private String method;

    private String id;

    private String jsonrpc;

    public Params getParams() {
        return params;
    }

    public void setParams(Params params) {
        this.params = params;
    }

    public String getMethod() {
        return method;
    }

    public void setMethod(String method) {
        this.method = method;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getJsonrpc() {
        return jsonrpc;
    }

    public void setJsonrpc(String jsonrpc) {
        this.jsonrpc = jsonrpc;
    }
}
参数模型:

public class Params {

    private String password;

    private String email;

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
服务:

public interface UserClient {
    @POST("user")
    Call<User> login(@Body User user);
}
然而,当我检查响应是否成功时,我得到的是错误的

private void sendNetworkRequest(User user){
        Retrofit.Builder builder = new Retrofit.Builder()
                .baseUrl("http://biokod.net:8990/api/users/")
                .addConverterFactory(GsonConverterFactory.create());

        Retrofit retrofit = builder.build();
        UserClient client = retrofit.create(UserClient.class);
        Call<User> call = client.login(user);
        call.enqueue(new Callback<User>() {
            @Override
            public void onResponse(Call<User> call, Response<User> response) {
                if(response.isSuccessful())
                    Log.d("testtest", response.body().toString());
                else
                    Log.d("testtest", "fail");
            }

            @Override
            public void onFailure(Call<User> call, Throwable t) {

            }
        });
    }
private void sendNetworkRequest(用户){
reformation.Builder=新的reformation.Builder()
.baseUrl(“http://biokod.net:8990/api/users/")
.addConverterFactory(GsonConverterFactory.create());
改装改装=builder.build();
UserClient=reformation.create(UserClient.class);
Call=client.login(用户);
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
if(response.issusccessful())
Log.d(“testtest”,response.body().toString());
其他的
Log.d(“测试”、“失败”);
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
}
});
}

无法找出我做错了什么,感谢任何帮助。

感谢Satan Pandeya的评论,我发现我的端点和url错误,正确的url应该是biokod.net:8990/api和端点用户。感谢您的帮助。

感谢Satan Pandeya的评论,我发现我的端点和url错误,正确的url应该是biokod.net:8990/api和端点用户。谢谢您的帮助。

您在logcat>您的基本url:中是否遇到任何错误,并且您将该端点用作:user。你的url是否正确?检查你的url和键我在logcat中没有发现任何错误,当我将url更改为biokod.net:8990/api/并将@POST(“user”)替换为@POST(“users”)时,我得到了成功的响应,但是response.body.toString()返回com.witanowski.biokod.data.model。User@9057d22而不是使用正确的jsontry来覆盖用户模型中的toString方法。在logcat>您的基本url:中是否出现任何错误,并将该端点用作:User。你的url是否正确?检查你的url和键我在logcat中没有发现任何错误,当我将url更改为biokod.net:8990/api/并将@POST(“user”)替换为@POST(“users”)时,我得到了成功的响应,但是response.body.toString()返回com.witanowski.biokod.data.model。User@9057d22而不是正确的jsontry来覆盖用户模型中的toString方法。
private void sendNetworkRequest(User user){
        Retrofit.Builder builder = new Retrofit.Builder()
                .baseUrl("http://biokod.net:8990/api/users/")
                .addConverterFactory(GsonConverterFactory.create());

        Retrofit retrofit = builder.build();
        UserClient client = retrofit.create(UserClient.class);
        Call<User> call = client.login(user);
        call.enqueue(new Callback<User>() {
            @Override
            public void onResponse(Call<User> call, Response<User> response) {
                if(response.isSuccessful())
                    Log.d("testtest", response.body().toString());
                else
                    Log.d("testtest", "fail");
            }

            @Override
            public void onFailure(Call<User> call, Throwable t) {

            }
        });
    }