Spring之路(27)–使用RestTemplate访问Restful接口

简介: 本文目录1. 背景2. 编写测试类

1. 背景

访问HTTP接口,应该是一种非常常见的工作了,Spring封装了RestTemplate,可以用来访问Rest web接口。


本篇我们演示下RestTemplate的使用。


2. 编写测试类

代码如下,可以看到RestTemplate的封装,可以说相当的简洁明了,似乎也没有必要做详细的解释,想必大家看到示例,就知道如何使用了。


此处想说的是相比于HttpClient等Http组件,这个简单多了。

package org.maoge.restfulblog;
import java.util.List;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
public class BlogRestfulTest {
  /**
   * 测试入口
   */
  public static void main(String[] args) {
    BlogDo blog = new BlogDo();
    blog.setAuthor("猫哥");
    blog.setTitle("测试博客");
    blog.setContent("非常完美吭");
    testAddBlog(blog);
    testViewBlogs();
    blog.setId(3L);
    blog.setContent("非常完美吭++");
    testEditBlog(blog);
    testDeleteBlog(1L);
  }
  /**
   * 测试新增
   */
  public static void testAddBlog(BlogDo blog) {
    RestTemplate template = new RestTemplate();
    ResponseEntity<Void> result = template.postForEntity("http://127.0.0.1:8080/restfulblog/blog", blog,
        Void.class);
  }
  /**
   * 测试获取博客列表
   */
  public static void testViewBlogs() {
    // 定义template对象
    RestTemplate template = new RestTemplate();
    // 发起get访问
    ResponseEntity<List> result = template.getForEntity("http://127.0.0.1:8080/restfulblog/blog", List.class);
    System.out.println(result.getBody().size());
  }
  /**
   * 测试修改
   */
  public static void testEditBlog(BlogDo blog) {
    RestTemplate template = new RestTemplate();
    template.put("http://127.0.0.1:8080/restfulblog/blog/"+blog.getId(), blog);
  }
  /**
   * 测试删除
   */
  public static void testDeleteBlog(Long id) {
    RestTemplate template = new RestTemplate();
    template.delete("http://127.0.0.1:8080/restfulblog/blog/"+id);
  }
}
相关文章
|
17天前
|
XML Java 数据格式
探索Spring之利剑:ApplicationContext接口
本文深入介绍了Spring框架中的核心接口ApplicationContext,解释了其作为应用容器的功能,包括事件发布、国际化支持等,并通过基于XML和注解的配置示例展示了如何使用ApplicationContext管理Bean实例。
44 6
|
27天前
|
XML 安全 Java
|
2月前
|
Java API 数据库
如何使用Spring Boot构建RESTful API,以在线图书管理系统为例
【10月更文挑战第9天】本文介绍了如何使用Spring Boot构建RESTful API,以在线图书管理系统为例,从项目搭建、实体类定义、数据访问层创建、业务逻辑处理到RESTful API的实现,详细展示了每个步骤。通过Spring Boot的简洁配置和强大功能,开发者可以高效地开发出功能完备、易于维护的Web应用。
82 3
|
2月前
|
存储 安全 Java
|
2月前
|
自然语言处理 JavaScript Java
Spring 实现 3 种异步流式接口,干掉接口超时烦恼
本文介绍了处理耗时接口的几种异步流式技术,包括 `ResponseBodyEmitter`、`SseEmitter` 和 `StreamingResponseBody`。这些工具可在执行耗时操作时不断向客户端响应处理结果,提升用户体验和系统性能。`ResponseBodyEmitter` 适用于动态生成内容场景,如文件上传进度;`SseEmitter` 用于实时消息推送,如状态更新;`StreamingResponseBody` 则适合大数据量传输,避免内存溢出。文中提供了具体示例和 GitHub 地址,帮助读者更好地理解和应用这些技术。
442 0
|
3月前
|
存储 数据采集 Java
Spring Boot 3 实现GZIP压缩优化:显著减少接口流量消耗!
在Web开发过程中,随着应用规模的扩大和用户量的增长,接口流量的消耗成为了一个不容忽视的问题。为了提升应用的性能和用户体验,减少带宽占用,数据压缩成为了一个重要的优化手段。在Spring Boot 3中,通过集成GZIP压缩技术,我们可以显著减少接口流量的消耗,从而优化应用的性能。本文将详细介绍如何在Spring Boot 3中实现GZIP压缩优化。
457 6
|
2月前
|
存储 NoSQL Java
Spring Boot项目中使用Redis实现接口幂等性的方案
通过上述方法,可以有效地在Spring Boot项目中利用Redis实现接口幂等性,既保证了接口操作的安全性,又提高了系统的可靠性。
61 0
|
3月前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
81 2
|
XML JavaScript 前端开发
Spring之路(24)–Spring Restful的来头
本文目录 1. Rest是啥 2. Restful是啥 3. Restful的用途(意义) 4. 补充说明 5. 计划
135 0
|
2月前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
246 2