SpringBoot之发送和接收Json格式的HTTP请求

2023-10-27

 

1、添加fastjson的依赖到pom.xml中

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.45</version>
</dependency>

2、通过@RequestBody 接收json,直接将json的数据注入到了JSONObject里面了

    @ResponseBody
    @RequestMapping(value = "/json/data", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
    public String getByJSON(@RequestBody JSONObject jsonParam) {
        // 直接将json信息打印出来
        //System.out.println(jsonParam.toJSONString());

        // 将获取的json数据封装一层,然后在给返回
        JSONObject result = new JSONObject();
        result.put("msg", "ok");
        result.put("method", "json");
        result.put("data", jsonParam);

        return result.toJSONString();
    }

3、通过resttemplate发送body里面放json的http请求

package com.example.demo;

import com.alibaba.fastjson.JSONObject;
import org.springframework.http.*;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
import java.io.IOException;
import java.util.Date;
public class TestHttp {
    public static String HttpRestClient(String url, HttpMethod method, JSONObject json) throws IOException {
        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
        requestFactory.setConnectTimeout(10*1000);
        requestFactory.setReadTimeout(10*1000);
        RestTemplate client = new RestTemplate(requestFactory);
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_PROBLEM_JSON_UTF8);
        HttpEntity<String> requestEntity = new HttpEntity<String>(json.toString(), headers);
        //  执行HTTP请求
        ResponseEntity<String> response = client.exchange(url, method, requestEntity, String.class);
        return response.getBody();
    }

    public static  void  main(String args[]){
        try{
            //api url地址
            String url = "http://127.0.0.1:8090/json/data";
            //post请求
            HttpMethod method =HttpMethod.POST;
            JSONObject json = new JSONObject();
            json.put("name", "wangru");
            json.put("sex", "男");
            json.put("age", "27");
            json.put("address", "Jinan China");
            json.put("time", new Date());
            System.out.print("发送数据:"+json.toString());
            //发送http请求并返回结果
            String result = TestHttp.HttpRestClient(url,method,json);
            System.out.print("接收反馈:"+result);
        }catch (Exception e){
        }
    }
}

4、运行情况

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

SpringBoot之发送和接收Json格式的HTTP请求 的相关文章

  • GitHub Actions:如何将 toJSON() 结果传递给 shell 命令

    因此 我正在与 Github Actions 合作进行端到端测试 我正在查看的设置是让一项作业检索要测试的 url 列表 而我的第二项作业使用该列表创建一个矩阵并测试所有这些 我的问题是 当我实际运行测试脚本时 必须从命令行完成 因为我使用
  • JavaScript 相对路径

    在第一个 html 文件中 我使用了一个变量类别链接 var categoryLinks Career prospects http localhost Landa DirectManagers 511 HelenaChechik Dim0
  • Android REST API 连接

    我有点傻 对此感到抱歉 我编写了一个 API 它返回一些 JSON 我的目标是从 Android 应用程序使用此 API 我已经尝试过使用 AsyncTask 但失败了 我想像这样使用它 调用该类 告知 URL 和结果的类型 哪个json
  • 将 `new Date ()` 存储在 JSON 对象中

    我有以下字段验证器对象 type date min new Date 我希望我可以存储new Date 作为 JSON 中的表达式 解析时会执行 保存时间戳 type date min new Date getTime 然后你再读一遍 va
  • 在 PHP 中 POST Base64 编码数据

    我需要使用 cURL 将一些数据 POST 到 PHP 页面 并且该请求包含三个参数 其中两个是常规文本值 一种是Base64编码的文件 我注意到 Base64 值在传输过程中被损坏 这是发送请求的代码 filename img2 jpg
  • 如何使用 Gson 跳过空条目

    使用 Gson 反序列化 JSON 时 有没有办法跳过 JSON 数组中的空条目 text adsfsd title asdfsd null text adsfsd title asdfsd 生成的 List 有 3 个条目 第二个条目为空
  • 如何从文本文件中检索多个 JSON 对象,其中对象*不*由分隔符分隔?

    我有数千个包含多个 JSON 对象的文本文件 但不幸的是这些对象之间没有分隔符 这些对象存储为字典 其中一些字段本身就是对象 每个对象可能具有可变数量的嵌套对象 具体来说 一个对象可能如下所示 field1 field2 some valu
  • 根据属性中的值类型反序列化对象

    TL DR json net 中是否有一种简单的方法来检查属性的类型并基于该类型创建实例 我在 JSON 中有以下两个对象 它们是JSON API http jsonapi org data type Test id 1 and data
  • 使用 TestRestTemplate 和 MockRestServiceServer 时,解析异常而不是实体列表不起作用

    我有一个简单的控制器 CODE https github com joergi tryouts blob main kotlin mockrestserver src main kotlin io joergi kotlinmockrest
  • Android - 下载 JSON 数据并保存到共享首选项

    我正在从 PHP 服务读取 JSON 数据 每当该 JSON 的版本发生变化时 我想将其存储在 Android 上 用新数据替换旧数据 JSON 仅用于填充 Spinner 我的问题是 JSON 有 36KB 可以将其存储在共享首选项中有一
  • VSTS部署IIS应用程序winrm并更改appsettings.json

    我正在使用 部署 IIS 应用程序 winrm 任务在另一台计算机上部署 IIS 应用程序 此任务部署 zip 文件 在此 zip 中有一个 appsettings json 其变量以下划线开头和结尾 我需要替换每个环境的 appsetti
  • 读取完 JSON 内容和意外标记后遇到的其他文本(在我的 json 中)

    我使用 JSON Net 创建的 json feed 遇到一些问题 当我尝试解析它时 它给了我 读取完 JSON 内容后遇到的附加文本 路径 第 17 行 位置 4 我尝试用以下方法验证它http json parser online fr
  • Twitter api 文本字段值被截断

    为什么文本字段值被截断以及如何获得完整的值 截至目前 我正在尝试获取如下所示的文本字段值 do if let responseObject try NSJSONSerialization JSONObjectWithData respons
  • Emoji 字符无法编码为 JSON

    我有一个UITextView我称之为messageField 其中的数据messageField is POST ed 以 JSON 格式发送到服务器 当用户输入表情符号字符时 我无法将数据编码为JSON 我认为 Emoji 使用 Unic
  • PyQt:数据不可 JSON 序列化

    我是 PyQt GUI 的新手 我想获取a的数据QLineEdit文本框 为此我正在使用text 方法 我正在获取数据 但数据类型是QString 我需要将其作为 json 数据传输到服务器 为此我使用json dumps 方法 但我收到错
  • BigQuery 如何获取 JSON 结构中的值的总和?

    我有以下查询 SELECT JSON EXTRACT json Weights as weight from select Weights blue 1 0 purple 0 0 yellow 1 0 green 1 0 as json 返
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • GET 和 POST 方法有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 什么时候用POST 什么时候用GET https stackoverflow com questions 46585 when do you use post and when do you use
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a

随机推荐

  • 关于Dev c++的简单设置

    一 添加初始源代码 可以在工具 编辑器选项 代码 缺省源中添加初始源代码 这样每次打开软件都会帮你写好C语言必须的几行代码 二 调整代码对齐格式 在格式化选项中可以调整代码格式 我选择了allman风格 默认为Java 在编辑代码时 按住c
  • SA 后缀数组 / SAM 后缀自动机 c++ 模板

    文章目录 前言 代码 1 SA 2 SAM 前言 SA 后缀数组模板 SAM 后缀自动机模板 代码 1 SA include
  • Vue SEO优化之预渲染

    SPA 只有一个html文件的web应用 特点 只有一个html 所有内容在这里展现 html文件只加载一次 用户操作不会让页面重新加载 通过动态更新页面内容的方式呈现不同内容 优 交互好 局部更新 不重新加载 前后端分离 前端页面 后端数
  • 十大人工智能技术

    人工智能通过创新技术改变了我们的生活方式 人工智能在每个行业都掀起了风暴 并对社会的每个部门都产生了深远的影响 人工智能术语一词最早是在1956年的一次会议上创造的 会议的讨论导致了跨学科信息技术自然语言生成学 互联网的出现帮助技术呈指数级
  • 前端开发ps软件及蓝湖的基本使用

    首先 需要先下载蓝湖插件及ps软件 蓝湖官网 https lanhuapp com ps软件 蓝湖使用方法 在官网下载Photoshop插件 并安装 在蓝湖官网注册账号和密码 并登录 下载完成以后 重启ps软件 在 窗口 扩展 蓝湖 打开
  • VUE 在一个组件中引用另外一个组件的两种方式

    下面有两种方法 方法一 代码如下
  • C++图书管理系统,数据结构课程设计(含源码、报告)

    数据结构课程设计 题目 图书管理系统 目 录 一 实验概述 1 1 实验题目 1 2 基本要求 1 3 问题描述 二 详细设计 2 1 数据结构的设计 2 1 1 图书信息的存入 2 1 2 学生信息存入 2 2 算法的设计思想及流程图 2
  • SQLi LABS Less 10 时间盲注

    第十关是双引号字符型注入 推荐使用时间盲注 一 功能分析 二 思路分析 三 解题步骤 方式一 时间盲注 第一步 判断注入条件 第二步 判断长度 第三步 枚举字符 脱库 一 功能分析 二 思路分析 页面无显示位 不适合联合注入 页面不显示数据
  • Git提交代码到别人的仓库——详细版

    1 打开别人的GitHub网址 2 先登录你的账号 显示你的头像的时候再点击Fork 2 1 这是Fork前的 Fork前的是别人的头像 2 2 这是Fork后的 Fork后的是你自己的头像 3 复制这个网址 4 进入你的D盘或U盘 5 右
  • HTML5编写旅游网页

    网页样例 代码 table align center tr td img src images top banner jpg alt td tr table
  • QML——添加自定义模块

    一 模块的定义 在使用QML时 我们常常看到类似这样的语句 import QtQuick 2 0 import QtSensors 5 0 通过这些import语句 我们就能使用QML中的相关控件了 其实这就是导入模块的意思 它包括3个部分
  • Eclipse导入Maven项目pom.xml第一行报错

    导入Maven项目pom xml第一行报错 eclipse导入maven项目后 pom xml文件第一行报错 具体报错信息如下 org apache maven archiver MavenArchiver getManifest org
  • 推荐一个无缝背景花纹资源站-AVA7 PATTERNS

    随着用户显示器分辨率的逐渐增大 网站的背景设计也越来越重要了 如果你的网站背景还在使用单调的白色作为背景 那你也许忽视了那些使用大分辨率的用户 他们看到的是网站内容和一大片白色 今天暴风彬彬要向大家推荐一个背景花纹资源站 AVA7 PATT
  • Log4j(三)——Log4j配置文件位置详解

    自动加载配置文件 1 如果采用log4j输出日志 要对log4j加载配置文件的过程有所了解 log4j启动时 默认会寻找source folder下的log4j xml配置文件 若没有 会寻找log4j properties文件 然后加载配
  • H264/AVC-帧内预测

    I宏块使用帧内预测编码压缩数据 根据相邻宏块数据恢复当前宏块信息 值得注意的一点是 帧内预测所参考的相邻宏块数据是deblocking之前的像素值 因为上一宏块的deblocking依赖当前宏块像素值 但当前宏块数据还未重建 1 帧内预测类
  • 微信推送模板消息报错,40001,invalid credential, access_token is invalid

    微信报错 40001 invalid credential access token is invalid or not latest hint BzKHIa0609vr29 最近在搞微信公众号的开发 批量推送推送模板消息 遇到此问题 找了
  • QT将数据写入文件,日志记录

    项目场景 在QT应用中 有时候需要将错误信息记录在log文件里面 或者需要将数据输出到文件中进行比对查看使用 创建log文件 如果文件存在则不创建 QDir dir QCoreApplication applicationDirPath r
  • 使用vue解决vs编辑器格式化分号逗号问题

    添加 插件在设置中搜索 插件 进入之后编写 editor fontSize 18 workbench colorTheme Solarized Light vetur format defaultFormatterOptions prett
  • 国行Filco圣手二代windows连接失效的解决方案

    1 同时按下 Ctrl Alt Fn 配对LED灯 蓝 和低电量显示LED灯 红 约同时亮10秒左右 10秒内 数字键1 4按下任一键选择连接通道 2 配对LED灯 蓝 和低电量显示LED灯 红 来回闪烁约4秒 LED灯熄灭后 按下键盘背面
  • SpringBoot之发送和接收Json格式的HTTP请求

    1 添加fastjson的依赖到pom xml中