当前位置: 首页 > news >正文

使用Apache http client发送json数据(demo)

POM依赖 :

        <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.12</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.46</version></dependency>

客户端代码:

package xyz.jangle.httpclient.test;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
//import org.json.JSONObject;import com.alibaba.fastjson.JSONObject;public class HttpClientSendJson {public static void main(String[] args) {try {// 创建HttpClient实例CloseableHttpClient httpClient = HttpClients.createDefault();// 创建HttpPost实例HttpPost httpPost = new HttpPost("http://127.0.0.1:8080/hello/test3");// 创建JSON数据JSONObject json = new JSONObject();
//            json.put("key1", "value1");
//            json.put("key2", "value2");json.put("shebeiId", "123");json.put("xiaoxiId", "456");json.put("xiaoxiType", "1");// 将JSON数据设置到StringEntity中StringEntity entity = new StringEntity(json.toString());// 设置内容类型entity.setContentType("application/json");// 设置HttpPost实例的实体httpPost.setEntity(entity);// 发送请求CloseableHttpResponse response = httpClient.execute(httpPost);// 获取响应内容String result = EntityUtils.toString(response.getEntity());// 输出结果System.out.println(result);// 关闭responseresponse.close();} catch (Exception e) {e.printStackTrace();}}
}

服务端接收方式:

    @RequestMapping(value = "/test3", method = RequestMethod.POST)@ResponseBodypublic Map<String, Object> test3(@RequestBody String test){Map<String,Object> map = new HashMap<String,Object>();//stringlogger.info("test:"+test);try {JSONObject jsonObject = JSONObject.parseObject(test);String shebeiId = jsonObject.getString("shebeiId");String xiaoxiId = jsonObject.getString("xiaoxiId");String xiaoxiType = jsonObject.getString("xiaoxiType");return xxx(shebeiId, xiaoxiId, map);} catch (Exception e) {map.put("code", 102);map.put("msg", e.toString());logger.error("异常:", e);return map;}}

参考文献:

1.百度AI

http://www.lryc.cn/news/414832.html

相关文章:

  • 读零信任网络:在不可信网络中构建安全系统07设备信任
  • 【Java算法专场】前缀和(下)
  • 音视频相关文章总目录
  • 7月31日MySQL学习笔记
  • 什么是容器查询?分享 1 段优质 CSS 代码片段!
  • 【linux深入剖析】初识线程---线程概念
  • 【MySQL】索引——索引的引入、认识磁盘、磁盘的组成、扇区、磁盘访问、磁盘和MySQL交互、索引的概念
  • python部署flask项目
  • 数据建模标准-基于事实建模
  • 量产部落SM2258XT开卡软件,SM2258XT主控128G SSD固态卡死修复
  • 《零散知识点 · 自定义 HandleMapping》
  • 谈谈我对微服务的理解2.0
  • ECCV 2024前沿科技速递:GLARE-基于生成潜在特征的码本检索点亮低光世界,低光环境也能拍出明亮大片!
  • 前端低代码必备:FrontendBlocks 4.0版本重磅发布,助力Uniapp-X原生APP开发
  • 如何将PyCharm 中使用 PDM 管理的 Django 项目迁移到 VS Code 并确保一切正常工作?
  • 认识Android Handler
  • 如何在 Ubuntu VPS 上安装 Cassandra 并运行单节点集群
  • Golang | Leetcode Golang题解之第316题去除重复字母
  • pxe的实验
  • 复杂智能软件系统开发
  • kickstart自动安装脚本
  • linux运维一天一个shell命令之grep详解
  • COMSOL金属氢化物-放氢过程
  • (四)软件性能测试
  • 萱仔大模型学习记录5-langchain实战
  • 安装使用netron
  • JDFrame 一款比 Java 8 Stream 更灵活的数据处理工具
  • 《Android系统开发中高级定制专栏导读》
  • LeetCode 114. 二叉树展开为链表
  • 78.子集