余晖与雨 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 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程