千家信息网

Springboot HTTP怎么调用其他服务

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,这篇"Springboot HTTP怎么调用其他服务"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2024年11月24日Springboot HTTP怎么调用其他服务

这篇"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 map=new HashMap();        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 map=new HashMap();        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 entity = new HttpEntity(JSON.toJSONString(map),headers);        RestTemplate restTemplate=new RestTemplate();        ResponseEntity 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 requestParam = new HashMap<>();    HttpEntity> request = new HttpEntity>(requestParam, headers);        ResponseEntity 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 requestParam = new HashMap<>();    requestParam.put("loginName", "jnr");    requestParam.put("password", "jn");    HttpEntity> request = new HttpEntity>(requestParam, headers);    String s=request.toString();    ResponseEntity entity2 = restTemplate.exchange(apiURL, HttpMethod.POST, request, String.class);    String body = entity2.getBody();    return body;}

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

0