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