使用Spring RestTemplate解析RESTful服务

在上一篇“使用Spring MVC 4构建Restful服务”博文中,我们谈到了如何使用Spring MVC 4搭建RESTful服务,本文以上篇文章为基础,继续讲解如何解析Spring RESTful服务。上篇文章中,我们用了jacson包进行Java对象的序列化,本文仍然使用此包进行Java对象的反序列化。

构建RESTful服务

1.我们继续在 FavRestfulController 类中,新增 buildRestUser() 方法,将FavUser对象序列化成JSON对象输出,代码如下:


1

2

3

4

5

6

7

8

9

@RequestMapping(value="buildRestUser")

 public FavUser buildRestUser(){

  FavUser favUser = new FavUser();

  favUser.setUserId("mm");

  favUser.setUserName("美眉");

  favUser.setUserAge(18);

  favUser.setCreateDate(new Date());

  return favUser;

 }

  2.启动favspringmvcrestful工程,使用Firefox的RESTClient插件进行测试,在URL中输入http://localhost:8080/favspringmvcrestful/buildRestUser,输出如下图所示的结果,RESTful服务搭建完成。

解析RESTful服务

1. 新建“ConsumeRESTful” Java Project,在Build Path中导入工程所需的Jar。

  2. 导入FavUser.Java对象,注意:该对象中的日期类型应该与构建RESTful服务中的FavUser对象的日期类型一致,即对createDate的Getter方法进行格式化,否则在反序列化过程中会报错。

  3. 新建 ConsumeSpringRestful.java ,在Main()方法中,测试RESTful服务。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

package com.favccxx.favsoft.main;

import org.springframework.web.client.RestTemplate;

import com.favccxx.favsoft.pojo.FavUser;

public class ConsumeSpringRestful {

    public static void main(String[] args) {

        RestTemplate restTemplate = new RestTemplate();

        FavUser favUser = restTemplate.getForObject("http://localhost:8080/favspringmvcrestful/buildRestUser", FavUser.class);

        System.out.println("userId:    " + favUser.getUserId());

        System.out.println("userName:    " + favUser.getUserName());

        System.out.println("userAge:    " + favUser.getUserAge());

        System.out.println("createDate:    " + favUser.getCreateDate());

    }

}

  4. 运行工程,输入内容如下,正说明解析RESTful服务成功。

  本例中采用的就是jacson框架解析JSON对象,当然也可以使用GSON,FastJSON,Jersey等框架进行解析,但通常的做法是反序列化JSON的工具类与序列化的工具类相同,防止因类型不匹配等原因而造成的数据映射错误。

欢迎大家访问我的个人网站 萌萌的IT人

时间: 2024-10-19 01:38:26

使用Spring RestTemplate解析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

如何使用RestTemplate访问restful服务

https://www.jianshu.com/p/c9644755dd5e 一. 什么是RestTemplate 传统情况下在java代码里访问restful服务,一般使用Apache的HttpClient.不过此种方法使用起来太过繁琐.spring提供了一种简单便捷的模板类来进行操作,这就是RestTemplate. 二.一个简单的例子. 定义一个简单的restful接口 @RestController public class TestController { @RequestMappin

用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

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:

使用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的用户.

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://

构建RESTful服务(使用Spring Data JPA)

一.Restful简介REST是一种Web软件结构风格,而不是一种标准,匹配或兼容这种架构风格称之为REST服务,REST服务简洁并且有层次,REST通常基于HTTP,URI和XML以及HTML这些现有的广泛流行的协议和标准,在REST中,资源是由URI来指定的,对资源的增删改查也是通过HTTP协议提供的POST,PUT,GET,DELETE等方法实现,使用REST可以更高效率的利用缓存来提高响应速度,同时REST中的通信会话状态有客户端来维护,这可以让不同服务器来处理一系列请求中的不同请求,进

Spring RestTemplate: 比httpClient更优雅的Restful URL访问

{ "Author": "tomcat and jerry", "url":"http://www.cnblogs.com/tomcatandjerry/p/5899722.html" } Spring RestTemplate, 使用java访问URL更加优雅,更加方便. 核心代码: String url = "http://localhost:8080/json"; JSONObject json =