springboot发送request请求的方式小结

 更新时间:2024年09月09日 08:49:13   作者:码里法  
在Java中,发送HTTP请求是常见需求,hutool工具包和RestTemplate类是实现此功能的两种主流方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

java发送请求的方法有很多,这里只介绍两种。

hutool和RestTemplate

下边提供两种后端发送请求的方式,一个是基于hutool工具的,一个是基于RestTemplate的,为什么要写这两种呢,因为有的时候用hutool的方式不太管用,有的时候用RestTemplate也不太管用,所以就且换着用,谁能用,用谁。

hutool方式

get请求

	@GetMapping("/userEleList")
    @ResponseBody
    public JSONObject userEleList(@RequestParam(name = "userCode") String userCode, HttpServletRequest request) {
        String Authorization = request.getHeader("Authorization");
        String token = request.getHeader("token");
        String body = HttpUtil.createGet("http://ip:8068/userEleList?userCode=" + userCode)
                .header("Authorization", Authorization)
                .header("token", token)
                .execute()
                .body();
        return JSONObject.parseObject(body);
    }
	@GetMapping("/getKdToken")
    @ResponseBody
    public JSONObject userEleList(@RequestParam(name = "appId") String appId,
                                  @RequestParam(name = "appSecret") String appSecret,
                                  @RequestParam(name = "grantType") String grantType) {
        String post = HttpUtil.get("http://ip:8068/getKdToken?appId=" + appId + "&appSecret=" + appSecret + "&grantType=" + grantType);
        return JSONObject.parseObject(post);
    }

post请求

	@PostMapping("/eleRechargeMoneyAllList")
    @ResponseBody
    public JSONObject eleRechargeMoneyAllList(@RequestBody Map<String, Object> map, HttpServletRequest request) {
        String Authorization = request.getHeader("Authorization");
        String token = request.getHeader("token");
        Object elemeterId = map.get("elemeterId");
        Object money = map.get("money");
        Object selOrderno = map.get("selOrderno");
        String post = HttpUtil
                .createPost("http://ip:8068/eleRechargeMoneyAllList?elemeterId=" + elemeterId + "&money=" + money + "&adds=0&selOrderno=" + selOrderno + "&payType=40")
                .header("Authorization", Authorization)
                .header("token", token)
                .execute()
                .body();
        return JSONObject.parseObject(post);
    }
	@PostMapping("/GetClientByCnumber")
	@ResponseBody
	 public JSONObject GetClientByCnumber(@RequestBody Map&lt;String, Object&gt; map) {
	     String post = HttpUtil.post("http://ip:8006/GetClientByCnumber", map);
	     return JSONObject.parseObject(post);
	 }

RestTemplate方式

	@PostMapping("/userPricePay")
	@ResponseBody
	public JSONObject userPricePay(@RequestBody Map<String, Object> map, HttpServletRequest request) {
		   String sign = request.getHeader("sign");
		   RestTemplate restTemplate = new RestTemplate();
		   // 设置请求头,指定Content-Type为application/json
		   HttpHeaders headers = new HttpHeaders();
		   headers.setContentType(MediaType.APPLICATION_JSON);
		//        headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
		   headers.set("sign", sign);
		   // 将解析后的 JSON 对象转换为 MultiValueMap
		   HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(map, headers);
		   ResponseEntity<String> exchange = restTemplate.exchange("https://ip:8080/userPricePay", HttpMethod.POST, requestEntity, String.class);
		   return JSONObject.parseObject(exchange.getBody());
	}

到此这篇关于springboot发送request请求的方式小结的文章就介绍到这了,更多相关springboot发送request请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java如何用递归方法求阶乘

    java如何用递归方法求阶乘

    这篇文章主要介绍了java 用递归方法求阶乘的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • spring boot如何添加拦截器

    spring boot如何添加拦截器

    本篇文章主要介绍了spring boot如何添加拦截器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Java创建对象的常见方式技术指南

    Java创建对象的常见方式技术指南

    在 Java 开发中,对象是一切面向对象编程的基础,Java 提供了多种方式来创建对象,不同方式背后有不同的应用场景与运行机制,下面哦我们就来深入了解下吧
    2025-06-06
  • MyBatis-plus的五种批量插入方式对比分析

    MyBatis-plus的五种批量插入方式对比分析

    本文主要介绍了MyBatis-plus的五种批量插入方式对比分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Maven本地仓库配置与管理方式

    Maven本地仓库配置与管理方式

    Maven本地仓库是Java项目构建的核心组件,负责存储项目依赖,提高构建效率,通过设置新的本地仓库路径和使用POM文件管理依赖版本,可以避免冲突和提升构建速度,本文详细介绍了如何在Eclipse中配置Maven本地仓库路径,并探讨了依赖管理机制和冲突解决策略
    2026-05-05
  • java中方法递归的简单示例

    java中方法递归的简单示例

    这篇文章主要给大家介绍了关于java中方法递归的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 一篇文章带你深入了解Java类加载

    一篇文章带你深入了解Java类加载

    这篇文章主要介绍了Java中类加载过程全面解析,具有一定参考价值,需要的朋友可以了解下,希望能给你带来帮助
    2021-08-08
  • SpringCloud配置客户端ConfigClient接入服务端

    SpringCloud配置客户端ConfigClient接入服务端

    这篇文章主要为大家介绍了SpringCloud配置客户端ConfigClient接入服务端,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 解决IntelliJ IDEA输出中文显示为问号问题的有效方法

    解决IntelliJ IDEA输出中文显示为问号问题的有效方法

    最近刚学到文件字节流这里,但输出中文时,出现了控制台输出问号的情况,所以下面这篇文章主要给大家介绍了关于如何解决IntelliJ IDEA输出中文显示为问号问题的有效方法,需要的朋友可以参考下
    2022-07-07
  • nacos将服务注册到不同的命名空间下问题

    nacos将服务注册到不同的命名空间下问题

    Nacos是SpringCloudAlibaba架构中最重要的组件,提供注册中心、配置中心和动态DNS服务三大功能,如果需要配置多个数据库适配的环境,启动服务时需要将服务注册到不同的命名空间下,并配置新部署的网关服务ip和端口或者域名
    2024-12-12

最新评论