Java笔记-使用RestTemplate发送http数据包(get与post)

最近看项目,方面大佬们都喜欢用RestTemplate去发送http报文,在此记录下,方便下次使用

这里只举get和post例子。

 

get例子。

程序运行截图如下:

Java笔记-使用RestTemplate发送http数据包(get与post)_第1张图片

后台:

Java笔记-使用RestTemplate发送http数据包(get与post)_第2张图片

源码如下:

这里要先配置下config

Java笔记-使用RestTemplate发送http数据包(get与post)_第3张图片

代码如下:

package cn.it1995.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
public class AppConfig {

    @Bean
    public RestTemplate restTemplate(){

        return new RestTemplate();
    }
}

get方式源码如下:

MyController.java

package cn.it1995.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;


@RestController
public class MyController {

    @Autowired
    private RestTemplate restTemplate;


    @GetMapping("/getMsg")
    public Object sendMsg(@RequestParam("msg") String msg){


        ResponseEntity forEntity = restTemplate.getForEntity(msg, String.class);

        System.out.println("------------head start------------");
        System.out.println(forEntity.getHeaders());
        System.out.println("------------head end------------");

        System.out.println("------------body start------------");
        System.out.println(forEntity.getBody());
        System.out.println("------------body end------------");
        System.out.println("\n\n");

        return null;
    }
}

下面是另外一个开源程序的例子,在此我直接贴下代码,post请求

    @PostMapping("/loginByQQ")
    public Object loginByQQ(String token, HttpServletResponse response, HttpServletRequest request){

        MultiValueMap paramMap = new LinkedMultiValueMap();
        paramMap.add("token", token);
        ResponseEntity objectResponseEntity = restTemplate.postForEntity("http://127.0.0.7:8081/getLoginInfo", paramMap, Object.class);
        Object body = objectResponseEntity.getBody();
        String uuid = CookieUtil.setLoginCookie(request, response);

        //json标准化
        String newJson = body.toString().replace("=", ":");
        System.out.println(newJson);

        Map map = JSON.parseObject(newJson, Map.class);
        Map data = JSON.parseObject(map.get("data").toString(), Map.class);
        user.put(uuid, data);
        return Result.success();
    } 
  

 

你可能感兴趣的:(Web相关技术,Java,Spring,Boot,spring,java,http,SpringBoot)