Spring guide 03: Restful服务的消费

这一小节我们建立一个消费WebService的应用。

我们将建立一个通过Spring的RestTemplate从http://gturnquist-quoters.cfapps.io/api/random 获得数据的应用。

http://gturnquist-quoters.cfapps.io/api/random是一个RestfulService接口,它随机引用一些关于SpringBoot的话并以Json形式返回。
Json格式大致如下
{
type: "success",
value: {
id: 10,
quote: "Really loving Spring Boot, makes stand alone Spring apps easy."
}
}

非常简单,但通常不会通过浏览器来获取这类数据,而是以编程方式消费。
Spring提供的模板类RestTemplate可以轻松地帮你完成这些任务。
RestTemplate不但可以 makes interacting with most RESTful services a one-line incantation,也可以将数据绑定到客户端对应的实体类中。
如下,根据Json创建一个实体类

你可以看到,这是简单的包含一些属性和相应的getter、Setter方法的Java类。
@JsonIgnoreProperties 注释的作用是当一些属性无法绑定时忽略它们。

为了你能直接绑定数据到实体类,你需要指定实体类的属性名和Json中的key一致,如果它俩不一致,你需要为实体类属性添加JsonProperty来指定相应的Json的key。

补充Value类的代码截图

Main函数如下

运行 如下

时间: 2024-11-05 09:40:48

Spring guide 03: Restful服务的消费的相关文章

应用Spring MVC发布restful服务是怎样的一种体验

摘要:“约定优于配置”这是一个相当棒的经验,SOAP服务性能差.基于配置.紧耦合,restful服务性能好.基于约定.松耦合,现在我就把使用Spring MVC发布restful服务的过程同大家分享.代码之优雅.过程之简单.编码之愉快,不是发布SOAP服务所能匹敌的. 关键字:java, rest, webservice, spring mvc 前提:IntelliJ IDEA (13.1.5 版本), apache maven (3.2.3 版本), Tomcat(7.0.56版本), Spr

使用Spring RestTemplate解析RESTful服务

在上一篇"使用Spring MVC 4构建Restful服务"博文中,我们谈到了如何使用Spring MVC 4搭建RESTful服务,本文以上篇文章为基础,继续讲解如何解析Spring RESTful服务.上篇文章中,我们用了jacson包进行Java对象的序列化,本文仍然使用此包进行Java对象的反序列化. 构建RESTful服务 1.我们继续在 FavRestfulController 类中,新增 buildRestUser() 方法,将FavUser对象序列化成JSON对象输出

用Jersey+spring+hibernate构建RESTful服务

最近梳理了一下之前写的restful服务端,由于以前用NetBeans写的,时间久了感觉NetBeans真是KA.卡!!! 现在用eclipse重新梳理一下,现在把整体结构记录一下,快速搭建一个基本的项目服务架构出来. 一.创建一个Dynamic Web Project项目,项目结构如下图: 二.导入所需要的jar包,jar下载地址(https://pan.baidu.com/s/1eSA3zPo) 三.配置RestApplication.java文件 import org.codehaus.j

CXF+Spring+JAXB+Json构建Restful服务

话不多说,先看具体的例子: 文件目录结构: web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://

使用Spring MVC 4构建Restful服务

使用Spring MVC 4构建RESTful服务相对于其它框架来说,有很多优势.首先,Spring MVC 4作为Spring的框架之一,可以很好地与Spring进行集成.其次,Spring MVC 4的拦截器是在方法层级上的拦截,相对于其它MVC框架(如Struts2)的拦截器具有更高的效率.再者,Spring MVC 4采用基于注解的配置,入手容易,开发灵活. Spring MVC 4采用的是jacson解析JSON.jacson一款非常高效强大的JSON工具类,可以轻松地在JAVA对象与

使用spring mvc或者resteasy构建restful服务

看到最近一个项目里用resteasy来构建restful接口,有点不明白,不少Spring mvc4.0以后也可以很方面的实现restful服务吗,为啥还要在Spring MVC的项目里还引入resteasy?估计还是开发人员根据自己技术能力自由选择的吧,毕竟resteasy引入也很简单.为了解惑,了解了一下resteasy. resteasy 是 jboss的一个开源restful service实现参考.本文假设读者熟悉spring mvc,但是不了解或者没有使用过resteasy的用户.

Spring Cloud构建微服务架构:服务消费(基础)

使用LoadBalancerClient 在Spring Cloud Commons中提供了大量的与服务治理相关的抽象接口,包括DiscoveryClient.这里我们即将介绍的LoadBalancerClient等.对于这些接口的定义我们在上一篇介绍服务注册与发现时已经说过,Spring Cloud做这一层抽象,很好的解耦了服务治理体系,使得我们可以轻易的替换不同的服务治理设施. 从LoadBalancerClient接口的命名中,我们就知道这是一个负载均衡客户端的抽象定义,下面我们就看看如何

Spring Cloud构建微服务架构—服务消费(Ribbon)

Spring Cloud RibbonSpring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具.它是一个基于HTTP和TCP的客户端负载均衡器.它可以通过在客户端中配置ribbonServerList来设置服务端列表去轮询访问以达到均衡负载的作用. 当Ribbon与Eureka联合使用时,ribbonServerList会被DiscoveryEnabledNIWSServerList重写,扩展成从Eureka注册中心中获取服务实例列表.同时它也会用N

Spring Cloud构建微服务架构 消息驱动的微服务(消费分区)【Dalston版】

通过上一篇<消息驱动的微服务(消费组)>的学习,我们已经能够在多实例环境下,保证同一消息只被一个消费者实例进行接收和处理.但是,对于一些特殊场景,除了要保证单一实例消费之外,还希望那些具备相同特征的消息都能够被同一个实例进行消费.这时候我们就需要对消息进行分区处理. 使用消息分区 在Spring Cloud Stream中实现消息分区非常简单,我们可以根据消费组示例做一些配置修改就能实现,具体如下: 在消费者应用SinkReceiver中,我们对配置文件做一些修改,具体如下: spring.c