余晖与雨 2023-04-17 22:26 采纳率: 59.6%
浏览 18
已结题

为什么post请求中swagger,apifox与android studio输出结果不一致

swagger上请求

img

在android studio请求

img

复制android studio打印出来的url,放在apifox上请求

img

但是当请求参数为改变时,android和前两者返回结果一致

img

附上请求代码

  private void check(String s, String s1) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                OkHttpClient okHttpClient = new OkHttpClient();
                FormBody build = new FormBody.Builder()
                        .add("password", s1)
                        .add("phone", s)
                        .build();
                Log.d("user","http://47.102.185.215/user/login?password="+s1+"&phone="+s);
                Request build1 = new Request.Builder()
                        //http://47.102.185.215/user/login?password=xxx&phone=xxx
                        .url("http://47.102.185.215/user/login?password="+s1+"&phone="+s)
                        .post(build)
                        .build();
                okHttpClient.newCall(build1).enqueue(new Callback() {
                    @Override
                    public void onFailure(@NonNull Call call, @NonNull IOException e) {
//                            runOnUiThread(() ->Toast.makeText(MainActivity.this, "短路了喵喵喵~~~~", Toast.LENGTH_SHORT).show());
                    }
                    @Override
                    public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
//                        runOnUiThread(() -> Toast.makeText(Register.this, "正在发送验证码", Toast.LENGTH_SHORT).show());
                        String result=response.body().string();
                        Log.d("login",result);
                        try {
                            JSONObject j = new JSONObject(result);
                            String message = j.getString("message");
                            if (message.equals("成功")){
//                                Toast.makeText(InForLogin.this,"账号已存在",Toast.LENGTH_SHORT).show();
                                runOnUiThread(() ->  Toast.makeText(MainLogin.this,"登录成功",Toast.LENGTH_SHORT).show());
                                Intent intent=new Intent(MainLogin.this, MainActivity.class);
                                startActivity(intent);

                            }else {
                                runOnUiThread(() ->  Toast.makeText(MainLogin.this,"账户不存在",Toast.LENGTH_SHORT).show());
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }

                });
            }
        }).start();
    }


请问各位uu们,为什么会出现这种情况,直接导致项目运行与预期不同,找不到错误

  • 写回答

2条回答 默认 最新

  • 守时间的孤岛 2023-04-18 09:10
    关注

    在安卓请求的时候不要把参数拼接在url中试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月22日
  • 已采纳回答 4月18日
  • 创建了问题 4月17日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助