From e9e35f420a57daf3bebd0aea4644c7f9dadef187 Mon Sep 17 00:00:00 2001 From: xyli Date: Fri, 3 Mar 2023 18:17:34 +0800 Subject: [PATCH] =?UTF-8?q?NodeForward.java=20=20=E9=87=8D=E8=BD=BDrequest?= =?UTF-8?q?Data=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/mpms/common/forward/NodeForward.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/main/java/mpms/common/forward/NodeForward.java b/src/main/java/mpms/common/forward/NodeForward.java index 5641883..187122b 100644 --- a/src/main/java/mpms/common/forward/NodeForward.java +++ b/src/main/java/mpms/common/forward/NodeForward.java @@ -204,6 +204,46 @@ public class NodeForward { return jsonMessage.getData(tClass); } + /** + * 普通消息转发,并解析数据 + * + * @param nodeModel 节点 + * @param nodeUrl 节点的url + * @param tClass 要解析的类 + * @param 泛型 + * @param name 参数名 + * @param parameters 其他参数 + * @param value 值 + * @return T + */ + public static T requestData(NodeModel nodeModel, NodeUrl nodeUrl, Class tClass, String name, Object value, Object... parameters) { + String url = nodeModel.getRealUrl(nodeUrl); + // + HttpRequest httpRequest = HttpUtil.createPost(url); + if (name != null && value != null) { + httpRequest.form(name, value, parameters); + } + // + addUser(httpRequest, nodeModel, nodeUrl); + HttpResponse response; + try { + // + response = httpRequest + .execute(); + } catch (Exception e) { + /** + * + * revert version and add log print + * + */ + DefaultSystemLog.getLog().error("node [{}] connect failed", nodeModel.getName(), e); + throw new AgentException(nodeModel.getName() + "节点异常:" + e.getMessage()); + } + + JsonMessage jsonMessage = parseBody(response); + return jsonMessage.getData(tClass); + } + -- Gitee