文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Springboot HTTP怎么调用其他服务

2023-06-29 01:10

关注

这篇“Springboot HTTP怎么调用其他服务”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Springboot HTTP怎么调用其他服务”文章吧。

HTTP如何调用其他服务

1.GET请求

1.1Client代码

import com.alibaba.fastjson.JSON;import org.springframework.stereotype.Service;import org.springframework.web.client.RestTemplate;import org.springframework.web.util.UriComponentsBuilder;import java.net.URI;import java.util.HashMap;import java.util.Map; @Servicepublic class UserInfoClient {    public String getUserTotalAmount(){        Map<String,String> map=new HashMap<String,String>();        map.put("name","123");        map.put("password","123");        URI uri = UriComponentsBuilder.fromHttpUrl("http://localhost:8081/spring/test")                .queryParam("jsonString",JSON.toJSONString(map))                .queryParam("token","12122222111")                .build().encode().toUri();        RestTemplate restTemplate=new RestTemplate();        String data=restTemplate.getForObject(uri,String.class);        System.out.println(data);        return null;    }    public static void main(String[] args){        UserInfoClient c=new UserInfoClient();        c.getUserTotalAmount();    }}

1.2 Service 代码

import org.springframework.web.bind.annotation.*; @RestController@RequestMapping(value = "/spring")public class Test {    @RequestMapping(value = "/test",method = RequestMethod.GET)    public String testSpringBoot(@RequestParam String jsonString,@RequestParam String token){        System.out.println(jsonString);        System.out.println(token);                return "Spring Boot 测试成功!";    }}

2.POST请求

2.1Client代码

import com.alibaba.fastjson.JSON;import org.springframework.http.*;import org.springframework.stereotype.Service;import org.springframework.web.client.RestTemplate;import java.util.HashMap;import java.util.Map; @Servicepublic class UserInfoClient {     public String getUserTotalAmount(){        Map<String,String> map=new HashMap<String,String>();        map.put("name","123");        map.put("password","123");        String url="http://localhost:8081/spring/test";        //设置请求头信息        HttpHeaders headers = new HttpHeaders();        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");        headers.setContentType(type);        headers.add("Accept", MediaType.APPLICATION_JSON.toString());        //设置body部分        HttpEntity<String> entity = new HttpEntity<String>(JSON.toJSONString(map),headers);        RestTemplate restTemplate=new RestTemplate();        ResponseEntity<String> result = restTemplate.exchange(url, HttpMethod.POST, entity, String.class);        System.out.println(result.getBody());        return null;    }    public static void main(String[] args){        UserInfoClient c=new UserInfoClient();        c.getUserTotalAmount();    }}

2.2 Service代码

 import org.springframework.web.bind.annotation.*; @RestController@RequestMapping(value = "/spring")public class Test {    @RequestMapping(value = "/test",method = RequestMethod.POST)    public String testSpringBoot(@RequestBody UserBean userBean){        System.out.println(userBean);                return "Spring Boot 测试成功!";    }}

springboot请求其他服务器的http接口

使用Get方式,携带headers请求数据

//注入@Autowiredprivate RestTemplate restTemplate;@RequestMapping("/FaceInfo")@ResponseBodypublic Object   faceInfo(String startTime,String endTime,Integer size ){    String apiURL = "http://www.05un.cn/wspp/GceGroups";    HttpHeaders headers = new HttpHeaders();   headers.add("userId","38");    // headers.set("userId","38");    headers.setContentType(MediaType.APPLICATION_JSON);    Map<String, Object> requestParam = new HashMap<>();    HttpEntity<Map<String, Object>> request = new HttpEntity<Map<String, Object>>(requestParam, headers);        ResponseEntity<String> entity2 = restTemplate.exchange(apiURL, HttpMethod.GET, request, String.class);    String body = entity2.getBody();    return body;}

使用Post方式,携带body请求数据

//注入@Autowiredprivate RestTemplate restTemplate;@RequestMapping("/FaceInfo")@ResponseBodypublic Object   faceInfo(String startTime,String endTime,Integer size ){    String apiURL = "http://www.0531yun.cn/wsjc/app/Login";    HttpHeaders headers = new HttpHeaders();    headers.setContentType(MediaType.APPLICATION_JSON);    Map<String, Object> requestParam = new HashMap<>();    requestParam.put("loginName", "jnr");    requestParam.put("password", "jn");    HttpEntity<Map<String, Object>> request = new HttpEntity<Map<String, Object>>(requestParam, headers);    String s=request.toString();    ResponseEntity<String> entity2 = restTemplate.exchange(apiURL, HttpMethod.POST, request, String.class);    String body = entity2.getBody();    return body;}

以上就是关于“Springboot HTTP怎么调用其他服务”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯