这篇“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怎么调用其他服务”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。