Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.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 为什么改装响应404错误代码?_Android_Retrofit - Fatal编程技术网

Android 为什么改装响应404错误代码?

Android 为什么改装响应404错误代码?,android,retrofit,Android,Retrofit,我已经写了一个改型代码,它有一个Yii2后端。问题是:当我在后端调用web服务时,它工作得非常好。然而,当我尝试从android设备调用web服务时;它抛出404的响应代码。以下是我所做的: 我的目标是一个url,看起来像:并且它有一个端点:root/register public interface RegisterAPIService { @POST("practice/register") Call<RegisterModel> registerUser(@Bo

我已经写了一个改型代码,它有一个Yii2后端。问题是:当我在后端调用web服务时,它工作得非常好。然而,当我尝试从android设备调用web服务时;它抛出404的响应代码。以下是我所做的:

我的目标是一个url,看起来像:并且它有一个端点:root/register

public interface RegisterAPIService {
    @POST("practice/register")
    Call<RegisterModel> registerUser(@Body RegisterDetails registerDetails);
}
公共接口注册服务{
@职位(“执业/注册”)
调用registerUser(@Body RegisterDetails RegisterDetails);
}
我的活动中的代码如下

            RegisterDetails registerDetails = new RegisterDetails(email, mobile, password);

            RegisterAPIService registerAPIService = retrofit.create(RegisterAPIService.class);

            Call<RegisterModel> call =registerAPIService.registerUser(registerDetails);

            call.enqueue(new Callback<RegisterModel>() {
                @Override
                public void onResponse(Response<RegisterModel> response) {

                    Log.d("Message", "code..."+response.code() + " message..." + response.message()+" body..."+response.body());
                }

                @Override
                public void onFailure(Throwable t) {

                }
            });
        } else {
             // Error
        }
    }
RegisterDetails RegisterDetails=新的注册详细信息(电子邮件、手机、密码);
RegisterAPIService RegisterAPIService=reformation.create(RegisterAPIService.class);
Call Call=RegisterApisService.registerUser(registerDetails);
call.enqueue(新回调(){
@凌驾
公共响应(响应){
Log.d(“Message”,“code…”+response.code()+“Message…”+response.Message()+“body…”+response.body());
}
@凌驾
失效时的公共无效(可丢弃的t){
}
});
}否则{
//错误
}
}

我得到404以上的代码。我试图以POST请求的形式发送我的参数。请指导我如何使用。

您应该根据设备的ip地址,根据它们的连接方式,从设备中调用您的开发机器。此外,您还可以为您的操作系统使用Android反向绑定工具。有关进一步的研究和选项,您可以查看

的答案,它表示未找到
页面
。您传递的url是错误的。请检查。@Tauqir我正在从网络和iOS发送相同的请求。它起作用了。然而,从android。。它给出了此错误。您使用的是
仿真器
还是设备。复制粘贴浏览器中的url并选中。@Tauqir我正在使用我的设备进行调试。@Tauqir是,它显示Yii网页。并在我的POST请求中给出了正确的错误。您能成功地从android设备的web浏览器调用url吗?我认为您缺少端口号。您的web服务在哪个端口上可用于外部客户端?如果您没有配置它,它可能是80,或者8080,它正确地显示在android设备的浏览器上。错误响应。正在使用的默认端口是80。这是因为我使用的Yii url格式错误吗?我正在考虑相同的…再次粘贴您从浏览器调用的确切url