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请求 的相关文章

随机推荐

  • 关于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中