RestTempalte 的使用

  • package org.springframework.web.client;

方法

get

  • public T getForObject(String url, Class responseType, Object… uriVariables)
  • public T getForObject(String url, Class responseType, Map<String, ?> uriVariables)
  • public T getForObject(URI url, Class responseType)
  • public ResponseEntity getForEntity(String url, Class responseType, Object… uriVariables)
  • public ResponseEntity getForEntity(String url, Class responseType, Map<String, ?> uriVariables)
  • public ResponseEntity getForEntity(URI url, Class responseType)

post

  • public URI postForLocation(String url, @Nullable Object request, Object… uriVariables)
  • public URI postForLocation(String url, @Nullable Object request, Map<String, ?> uriVariables)
  • public URI postForLocation(URI url, @Nullable Object request)
  • public T postForObject(String url, @Nullable Object request, Class responseType,Object… uriVariables)
  • public T postForObject(String url, @Nullable Object request, Class responseType, Map<String, ?> uriVariables)
  • public T postForObject(URI url, @Nullable Object request, Class responseType)
  • public ResponseEntity postForEntity(String url, @Nullable Object request,
    Class responseType, Object… uriVariables)
  • public ResponseEntity postForEntity(String url, @Nullable Object request,
    Class responseType, Map<String, ?> uriVariables)
  • public ResponseEntity postForEntity(URI url, @Nullable Object request, Class responseType)

post请求携带参数

    public Object getObj(){
        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.setContentType(MediaType.parseMediaType(MediaType.APPLICATION_JSON_UTF8_VALUE));
        Map<String, Object> param = new HashMap<String, Object>();
        hashMap.put("参数1", "值1");
        hashMap.put("参数2", "值2");
        HttpEntity<Map<String,Object>> httpEntity = new HttpEntity<>(param,httpHeaders);
        Object forObject = restTemplate.postForEntity("127.0.0.1/brand",httpEntity,Object.class);
        return forObject;
    }

重定向

public URI postForLocation 返回URI功能:重定向使用

  • 服务提供者
    @PostMapping("postLocation")
    public URI postLocation(@RequestBody Person person, HttpServletResponse response) throws URISyntaxException {

        URI url = new URI("https://www.vaidu.com/s?wd=" + person.getName().trim());
        response.addHeader("Location", url.toString());
        return url;
    }
  • 服务调用者
    /**
     * 重定向测试
     *
     * @return
     */
    @RequestMapping("/postLocation")
    public Object postLocation(HttpServletResponse response) throws IOException {
        String trueUrl = url + "/postLocation";

        Map<String, String> map = new HashMap<>();
        map.put("name", "哇哈哈");
        URI uri = restTemplate.postForLocation(trueUrl, map);

        response.sendRedirect(uri.toString());
        return null;
    }

delete

  • public void delete(String url, Object… uriVariables)
  • public void delete(String url, Map<String, ?> uriVariables)
  • public void delete(URI url)

参数释义

参数解释
String url请求地址
Class responseType返回值类型
Object… uriVariables请求参数
Object requestbody或者 head+body

拦截器

所有发送的请求与接收的请求都会被拦截(请求本应用的与本应用发出的)

参考链接

https://blog.csdn.net/u012702547/article/details/77917939

RestTemplate post设置@RequestBody中传入参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值