gpt4 book ai didi

java - 在 Java 中通过 Socket.IO 进行 POST 和 PUT

转载 作者:太空宇宙 更新时间:2023-11-04 14:02:12 25 4
gpt4 key购买 nike

我正在使用 nkzawa's Socket.IO-client.java 开发 Android 客户端,并且无法弄清楚如何通过套接字使用请求正文中的数据发出 POST 或 PUT 请求。

我已经成功执行了 GET 请求,其完成方式如下:

...
JSONObject obj = new JSONObject();
obj.put("url", "/list/subscribe/");
socket.emit("get", obj);
...

我尝试将“get”与“put”和“post”交换,并尝试将“data”和“body”添加到JSONObject,但没有成功。接收到的请求正文在服务器上保持为空。

制作post request with data in Sails.js很简单,这正是我想要用 Java 客户端做的事情。这可能吗?

最佳答案

这是一个解决方案。

  1. 您需要将另一个 JSONObject 作为数据传递

    JSONObject jsonObjectBody = new JSONObject();
    try {
    jsonObjectBody.put("sender", senderId);
    jsonObjectBody.put("recipient", recipientId);
    jsonObjectBody.put("message", message);
    jsonObjectBody.put("shop", shopId);
    } catch (JSONException e) {
    e.printStackTrace();
    }


    JSONObject jsonObjectRequest = new JSONObject();
    try {
    jsonObjectRequest.put("url", "/v1/chat/client/messages");
    jsonObjectRequest.put("data", jsonObjectBody);
    } catch (JSONException e) {
    e.printStackTrace();
    }

    socketInstance.emit("post", jsonObjectRequest, new Ack() {
    @Override
    public void call(Object... args) {
    Log.e("SocketUtil", "User sent a message");
    }
    });
  2. 然后在服务器端您可以这样获取正文:

    const body = req.body;

关于java - 在 Java 中通过 Socket.IO 进行 POST 和 PUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29198639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com