带原始数据的 Volley 请求

2023-12-10

在我的应用程序中,我必须使用 JSON req param 发送 POST 请求,我尝试使用 Postman Rest Client 创建请求,它工作正常,但无法使用下面的代码。

在作为原始数据发送的 Postman req 参数中,但我不确定如何使用 Volley 请求发送它。

public Request getHTTPPostReqResponse(String URL, Class mClass, final Map<String, String> params, final String contentType, final String body) {
    mResponseListener.requestStarted();

    Request mRequest = new GsonRequest(Request.Method.POST, URL, mClass, new Response.Listener<Object>() {

        @Override
        public void onResponse(Object response) {
            mResponseListener.requestCompleted(response);
        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            mResponseListener.requestEndedWithError(error);
        }
    }) {
        @Override
        protected Map<String, String> getParams() {
            return params;
        }

        @Override
        public byte[] getBody() throws AuthFailureError {
            if (TextUtils.isEmpty(body)){
                return super.getBody();
            }else {
                return  body.getBytes();
            }
        }

        @Override
        public String getBodyContentType() {
            return contentType;
        }

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            params.put("Content-Type", contentType);
            return params;
        }
    };

    mRequest.setRetryPolicy(new DefaultRetryPolicy(
            MY_SOCKET_TIMEOUT_MS,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

    return mRequest;
}

请求参数:

{
    "nodeId": null,
    "userId": null,
    "mobileNumber": "993000008",
    "emailId": "[email protected]",
    "userProfile": null,
    "region": null,
    "countryCode": "91",
    "password": "pass@123",
    "places": [],
    "trustedNetwork": [],
    "profilePic": null,
    "fullName": null,
    "longitude": 0.0,
    "latitude": 0.0
}

希望这还不算太晚。

您是否尝试过不同类型的请求,例如 String 或 JsonObject? 参数的语法不同吗?

e.g.

     Map<String, Object> jsonParams = new ArrayMap<>();
    jsonParams.put("nodeId", null);
    jsonParams.put("userId", null);
    jsonParams.put("mobileNumber", "[email protected]");
    jsonParams.put("userProfile", null);
    jsonParams.put("region", null);
    jsonParams.put("countryCode", 91);
    jsonParams.put("password", pass@123);
    jsonParams.put("places", new ArrayList());
    jsonParams.put("trustedNetwork", new ArrayList());
    jsonParams.put("profilePic", null);
    jsonParams.put("fullName", null);
    jsonParams.put("longitude", 0.0);
    jsonParams.put("latitude", 0.0);

    JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, new JSONObject(jsonParams),
            new Response.Listener<JSONObject>()
            {
                @Override
                public void onResponse(JSONObject response)
                {
                  mResponseListener.requestCompleted(response);
                }
            },
            new Response.ErrorListener()
            {
                @Override
                public void onErrorResponse(VolleyError error)
                {
                    if (null != error.networkResponse)
                    {
                     mResponseListener.requestEndedWithError(error);
                    }
                }
            });

另外,看看这个问题。 希望这些有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带原始数据的 Volley 请求 的相关文章

  • 在应用程序简历中隐藏软键盘

    我有一个 Android 应用程序 使用 Xamarin 用 C 编写 我已将应用程序简化为包含 TextView 和用于横幅广告的 Google admod AdView 的 LinearLayout 我不希望软键盘出现在应用程序中 这不
  • Android 通知进度条冻结

    这是我正在使用的代码 http pastebin com 3bMCKURu http pastebin com 3bMCKURu 问题是 一段时间后 文件变得更重 通知栏下拉速度变慢 最后它就冻结了 你的通知太频繁了 这就是它冻结的原因 让
  • 检测到设备正在振动?

    我使用下面的代码来振动设备 public void vibrator try Vibrator vibrator Vibrator getSystemService Context VIBRATOR SERVICE vibrator vib
  • Android - 如何一次只允许播放一个 MediaPlayer 实例?

    我正在尝试创建一个简单的 Sound board Android 应用程序 使用 ListView 项目作为按钮 顺便说一句 我是一个新手程序员 我的想法是 我按下一个按钮 就会播放一个特定的声音文件 如果我在播放声音时按下任何按钮 它应该
  • 导航组件重复 NavArgs 的问题

    我有一个片段 class SomeFragment private val args by navArgs
  • Phonegap - 如何将.txt文件保存在Android手机的根目录中

    我正在尝试使用phonegap 将 txt 文件保存在Android 手机的根目录中 我已经安装了这些插件 cordova plugin file 和 cordova plugin file transfer 在 config xml 文件
  • 设置从 Facebook 登录获取用户电子邮件 ID 的权限

    我在用着Facebook 3 0 SDK对于安卓 我必须实施Facebook登录 我正在访问用户的基本信息 例如姓名 用户 ID 但我也想访问用户的电子邮件 我浏览了很多博客和论坛 但不知道该怎么做 我正在使用我自己的 android 按钮
  • 已经使用 AsyncTask doInBackground 但新数据未显示

    我使用 AsyncTask 创建一个聊天室来接收消息 因此它总是检查即将到来的消息并将其显示给客户端 但代码似乎无法按我希望的方式工作 在客户端只显示所有旧数据 新数据不显示 因为当我尝试从服务器发送消息时 新数据没有显示在客户端中 我对这
  • Android 原理图内容提供程序库配置?

    Jake Wharton 在最近的一次演讲中提到了这个库 它看起来是避免大量样板文件的好方法 所以我尝试了一下 但没有任何成功 https github com SimonVT schematic https github com Simo
  • 获取 AlarmManager 中活动的 PendingIntents 列表

    我有办法获取活动列表PendingIntent在设备中 我开始工作AlarmManager我想看看我的PendingIntents 已正确创建和删除 也很高兴看到其他什么PendingIntent在那里 只是为了看看某些应用程序是否正在做一
  • TextView 之间有分隔线

    我正在尝试在 android studio 中创建以下布局 因为我对 android 东西还很陌生 所以我第一次尝试使用 LinearLayout 并认为这可能无法实现 现在我正在尝试使用RelativeLayout 我已经用颜色创建了这个
  • 如何在 sqlite 中将 2 列合并为新列

    我有一个包含 3 列的表 我必须将 2 列中的值按降序排列到一列中 A B C z 1 2 f 5 7 s 9 5 使用此示例 输出会将 B 列和 C 列中的值放入其中 如下所示 A B s 9 f 7 f 5 s 5 z 2 z 1 我当
  • 更新到材质 1.2.0 后,材质按钮上缺少圆角半径属性

    这是我的材质按钮代码
  • Android 版 Robotium - solo.searchText () 不起作用

    我在使用 Robotium 时遇到 searchText 函数问题 我正在寻找这个字符串
  • Flutter 深度链接

    据Flutter官方介绍深层链接页面 https flutter dev docs development ui navigation deep linking 我们不需要任何插件或本机 Android iOS 代码来处理深层链接 但它并没
  • 使用 Matrix.setPolyToPoly 选择位图上具有 4 个点的区域

    我正在 Android 上使用位图 在使用 4 个点选择位图上的区域时遇到问题 并非所有 4 点组都适合我 在某些情况下 结果只是一个空白位图 而不是裁剪后的位图 如图所示 并且 logcat 中没有任何错误 甚至是内存错误 这是我用来进行
  • 如何创建像谷歌位置历史记录一样的Android时间轴视图?

    我想设计像谷歌位置历史这样的用户界面 我必须为我正在使用的应用程序复制此 UIRecyclerView 每行都是水平的LinearLayout其中包含右侧的图标 线条和视图 该线是一个FrameLayout具有圆形背景和半透明圆圈Views
  • Android - 将 ImageView 保存到具有全分辨率图像的文件

    我将图像放入 ImageView 中 并实现了多点触控来调整 ImageView 中的图像大小和移动图像 现在我需要将调整大小的图像保存到图像文件中 我已经尝试过 getDrawingCache 但该图像具有 ImageView 的大小 我
  • Android中webview的截图方法

    我在 webview 中的 html5 canvas 上画了一些线 并尝试使用下面的代码截取 webview 的屏幕截图 WebView webView WebView findViewById R id webview webView s
  • SharedFlow 和 StateFlow 的主要区别

    两者有什么区别共享流 and 状态流 以及如何使用这些MVI建筑学 使用简单更好吗Flow或者这些作为状态和事件 Flow 是冷的 意味着它仅在收集数据时才发出数据 另外Flow不能保存数据 可以把它看成是水在里面流动的管道 Flow中的数

随机推荐

  • 在JS中,为什么slice()文档看起来像深拷贝,却说它是浅拷贝?

    根据文档Array prototype slice 在 JavaScript 中 slice 方法将数组的一部分的浅拷贝返回到新数组中 据我了解 浅复制只会复制数组中的顶级元素 而不会复制嵌套元素 但是 当我在浏览器控制台中运行测试时 它看
  • 使用 PHP 递归获取最新文件

    我正在寻找递归列出目录中五个最新文件的代码 这是非递归代码 如果它是递归的 那么对我来说将是完美的
  • 如何在客户端生成/打印报告

    我想知道 是否可以在客户端生成并打印报告 例如使用 jasper 报告 他们必须安装 jasper reports 和 java 我想你可以将一个小程序推送给客户端 其中包含所有必要的罐子和东西 你为什么要这样做
  • 在 eclipse 项目中使用西里尔文 .properties 文件

    我正在开发一个小项目 我想为其使用国际化 问题是 当我尝试使用内部带有西里尔字母符号的 properties 文件时 文本显示为垃圾 当我对字符串进行硬编码时 它显示得很好 这是我的代码 ResourceBundle labels Reso
  • X509Certificate2 构造函数抛出磁盘空间不足

    突然之间 无需部署或进行任何其他环境更改 我们就得到了 磁盘空间不足 在 System Security Cryptography CryptographicException ThrowCryptographicException msc
  • gdb无法调用函数

    我在调试我的应用程序时遇到一些问题 当我尝试从 gdb shell 调用 parser extractString 时 它返回 名称空间 parser 中没有符号 extractString 当我执行时 信息函数 extractString
  • Java slick,html找不到AppletLoader

    我使用基于 slick 状态的游戏制作了一个 java 游戏 因为我的游戏扩展了 StatBasedGame 它不是一个真正的小程序 因为它不扩展 JApplet 所以为了解决这个问题 有一个使用 slick 内置的方法 可以在 html
  • java.sql.SQLException: ORA-00936: 缺少表达式

    下面我正在创建表格 public static final String CREATE SQL CREATE TABLE DATABASE TABLE ID number 10 0 CGUID VARCHAR 255 PGUID VARCH
  • 自动压缩mongodb中删除的空间?

    mongodb文档说 要压缩此空间 请从 mongo shell 运行 db repairDatabase 请注意 此操作会阻塞并且速度很慢 in http www mongodb org display DOCS Excessive Di
  • 为什么 Task.WhenAll 上的等待不抛出 AggregateException?

    在此代码中 private async void button1 Click object sender EventArgs e try await Task WhenAll DoLongThingAsyncEx1 DoLongThingA
  • 最大填充袋子的算法(这不是背包0/1)

    我正在处理一些任务 需要我解决以下算法问题 You Have collection of items their weights w1 w2 wn And You have a bag which weight is W It is Nee
  • 将值从一个脚本返回到另一脚本

    我有以下脚本将 顺序 运行目录中的每个脚本 import os directory for dirpath dirnames filenames in os walk path to scripts for filename in f fo
  • 不使用 Invoke-Expression 扩展字符串

    想象一下下面的代码 Script Start WelcomeMessage Hello UserName today is Date DayOfWeek 100 lines of other functions and what not f
  • MATLAB/Octave:从图像中切出很多圆圈

    我有一个矩阵 图像 和有关圆圈内有趣部分的信息 给出中心坐标和半径 我想剪掉所有的圆 矩阵的一部分 以便对每个圆进行更多计算 或者至少我想要一个带有所有圆圈的位掩码 我使用 Octave 但也可以使用 MATLAB 但由于许可证问题 这会很
  • 验证失败,但无法在 DataGridView 中删除

    这是我的 DataGridView 的 RowValidation 函数 DataGridViewRow row viewApplications Rows e RowIndex if row Cells colApplyTo Index
  • 如何从两个 Openshift 应用程序访问 MongoDB 数据库?

    我希望能够从 2 个 Openshift 应用程序访问我的 MongoDB 数据库 一个应用程序是通过浏览器的交互式数据库维护应用程序 另一个是通过 Openshift 应用程序在移动设备上运行的主要 Web 应用程序 正如我在 Opens
  • 通过 Java lib Apache Commons 上传文件的简明示例

    编辑 我已经删除了我的复杂且严重畸形的问题 这样它就不会影响下面非常简洁和正确的答案 考虑到找到一个在线示例来完成这项极其常见的任务非常困难 令人惊讶 我希望 Yoni 的回答能得到更多支持 所以 简而言之 这个问题 如何使用 Apache
  • Firebase 已获得 FedRAMP 授权?

    我使用 Firebase 作为后端 我看到谷歌服务已获得FedRAMP授权 并且firebase已与谷歌云集成使用 那么firebase也获得了FedRAMP的授权吗 如果没有 有什么办法可以在firebase中获得FedRAMP授权吗 T
  • 使用 PHPExcel 从 Excel 读取数字时出现问题

    我正在尝试使用 PHPExcel 从 Excelsheet 中读取数字 我读取数据的代码 objReader PHPExcel IOFactory createReaderForFile upload file objReader PHPE
  • 带原始数据的 Volley 请求

    在我的应用程序中 我必须使用 JSON req param 发送 POST 请求 我尝试使用 Postman Rest Client 创建请求 它工作正常 但无法使用下面的代码 在作为原始数据发送的 Postman req 参数中 但我不确