Glu TtoNy Curtain 2023-05-23 13:25 采纳率: 75%
浏览 14

服务器返回的数据,Android端无法正常接收

服务器返回的数据,Android端无法正常接收,显示为null

Android端login代码

public class Login {

    private static final String TAG = "Dao";

    /*登录*/
    public int login(Context context, String userid, String userpassword){

        final int[] msgs = {0};
        String url = "http://169.254.240.137:8080/user/login1";

        OkHttpClient client = new OkHttpClient();
        Gson gson = new Gson();
        // 构造要提交的数据
        User myObject = new User(userid, userpassword);

        // 将Java对象转换成JSON字符串
        String jsonStr = gson.toJson(myObject);

        // 构建HTTP请求
        RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), jsonStr);
        Request request = new Request.Builder()
                .url(url)
                .post(requestBody)
                .build();

        // 发送HTTP请求并处理响应结果
        Call call = client.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                Log.d("response","失败");
                e.printStackTrace();
            }
            @Override
            public void onResponse(Call call, Response response) throws IOException {

                if (response.isSuccessful()) {
                    String responseBody = response.body().string();
                    User result = new Gson().fromJson(responseBody,User.class);
                    // 获取解析结果
                    Log.d("respose", result.getUserid());
                    String code = result.getUserid();
                    // 处理解析结果
                    // ...
                    if (code.equals(userid)) {
                        msgs[0] = 1;    //密码正确
                    } else{
                        msgs[0] = 2;    //密码错误
                    }
                } else {
                    // 打印错误信息
                    throw new IOException("Unexpected code " + response);
                }
            }
        });
        return msgs[0];
    }
}

服务器端代码

        @RequestMapping("/login1")
    public User login(@RequestBody User user){
        User user1 = coexistService.login(user.getUserid(), user.getUserpassword());
        System.out.println(user1);//这里可以从数据库中查找到Android传来的用户信息
        return user1;
    }

使用的okhttp,服务器端可以接收消息并且处理,但是客服端无法收到,错误为404

img

  • 写回答

1条回答 默认 最新

  • 瞬间的未来式 2023-05-23 13:48
    关注

    404代表没找到这个接口

    评论

报告相同问题?

问题事件

  • 创建了问题 5月23日

悬赏问题

  • ¥15 CCF-CSP 2023 第三题 解压缩(50%)
  • ¥30 comfyui openpose报错
  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错
  • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
  • ¥100 matlab2009 32位一直初始化
  • ¥15 Expected type 'str | PathLike[str]…… bytes' instead
  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数