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

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

这里只举get和post例子。

 

get例子。

程序运行截图如下:

后台:

源码如下:

这里要先配置下config

代码如下:

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<String> 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<String, Object> paramMap = new LinkedMultiValueMap();
        paramMap.add("token", token);
        ResponseEntity<Object> 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();
    }

 

展开阅读全文
©️2020 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值