之前写了一个用httpClient测试http服务,最近发现Spring中提供了一个RestTemplate,超级好用,测试了一下返回结果与之前的一样。
package com.demo.http;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
public class RestTemplateClient {
public static void main(String[] args) {
RestTemplate restTemplate = new RestTemplate();
MultiValueMap<String, String> form = new LinkedMultiValueMap<String, String>();
//form.add("salary", "2,500.00");
String response = restTemplate.postForObject(
"http://demo/user/1", form, String.class);
System.out.println("response:\n" + response);
}
}
ps:返回值是JSON,测试的时候报了如下异常
Exception in thread "main" java.lang.NoSuchMethodError: org.codehaus.jackson.map.type.TypeFactory.type(Ljava/lang/reflect/Type;)Lorg/codehaus/jackson/type/JavaType;
at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.getJavaType(MappingJacksonHttpMessageConverter.java:114)
at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.canRead(MappingJacksonHttpMessageConverter.java:91)
at org.springframework.web.client.RestTemplate$AcceptHeaderRequestCallback.doWithRequest(RestTemplate.java:506)
at org.springframework.web.client.RestTemplate$HttpEntityRequestCallback.doWithRequest(RestTemplate.java:557)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:436)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:401)
at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:279)
at demo.RestTemplateClient.main(RestTemplateClient.java:17)
原因是JACKSON的jar包版本太低,换成高版本没有任何问题
参考资料:
https://github.com/itstamen/rop/wiki/Five-minutes-quick-start
分享到:
相关推荐
SpringMVC中RestTemplate传值接值方法是指在SpringMVC框架中使用RestTemplate来进行数据传输和接收的一种方法。这种方法可以帮助开发者快速简便地实现数据交换和处理。 RestTemplate的配置 在使用RestTemplate之前...
4. **服务调用**:介绍如何利用 Feign 或 RestTemplate 进行服务间调用,以及如何处理异步调用和超时问题。 5. **熔断与降级**:讲解 Hystrix 的使用,如何设置熔断阈值,以及如何实现服务降级策略,确保系统的稳定...
对于HTTP(S),可以使用Spring的RestTemplate或者WebClient(Spring WebFlux的一部分)发送POST请求到远程服务器。 6. **视频教学**:黑马程序员的教学视频可能详细讲解了SpringMVC的配置、控制器编写、视图解析、...
分享一个使用SpringMVC4 Rest 和Jackson的@JsonView注解集成的实例。@JsonView用来过滤JSON响应。Spring4.1开始直接支持@JsonView注解。要使用@JsonView,首先我们需要定义视图,我们可以定义多个视图。一个视图定义...
接口调用通常涉及网络请求,可以使用HttpURLConnection、Apache HttpClient或者Spring的RestTemplate等工具。在Java中,这些工具可以发送GET或POST请求,接收JSON或其他格式的数据,并将其转换为Java对象。在这个...
综上所述,"springmvc.jar" 包含的示例和资源可以帮助开发者深入理解如何使用 Spring MVC 构建 RESTful 服务和客户端,同时展示了 Spring MVC 在处理 Web 请求和响应时的核心机制和最佳实践。通过学习和研究这两个子...
spring常用知识点Spring RestTemplateSpring 3 + Quartz 1.8.6 定时器 任务调度教程:线程池cn/injava/spring/core/feature/concurrent
RestTemplate 的 REST 客户端的示例项目可在此处获得:。 此示例基于合同优先场景,其中 RAML 文档被创作并用作实施的基础 文档和获得支持 Javadoc 和 README.md(此文件)中提供了用法和文档。 如果需要,请通过...
### 使用Spring + SpringMVC + Interceptor + JWT + Redis 实现SSO单点登录 #### 一、背景介绍 在当前互联网技术飞速发展的背景下,越来越多的企业选择采用微服务架构来构建自己的应用系统。分布式环境下,如何...
Spring 3.2版本新增了对Servlet 3异步请求处理的支持、改进了Spring MVC的测试框架、增强了内容协商功能、支持泛型的RestTemplate、对@RequestBody参数的支持,以及对日期和时间格式化的全球支持等。另外,Spring ...
通过url反射调用目标方法, 相当于模拟了SpringMVC, 不够健壮, 但有利于学习SpringMVC. 设置methodType = 2 即可, 并且clinet端需和本地服务在同一个服务中.几种可自定义的组件组件的定义方式完全和WebMvcConfigurer...
Apache ServiceComb Java Chassis 给开发者提供一个快速构建微服务的JAVA SDK。它包含如下特性: ...开发者可以使用 SpringMVC/JAX-RS/transparent RPC 任意一种方式定义服务端接口, 并使用RPC/RestTemplate 等方式
这是一个基于JavaWeb技术栈,使用SSM(Spring、SpringMVC、MyBatis)框架和MySQL数据库构建的企业级电商系统源码项目。SSM框架在Java后端开发中被广泛使用,它集成了Spring的依赖注入、SpringMVC的前端控制器和...
算法原始分析:code-analysis设计模式手写mybatis手写spring,springMVC并发:并发螺纹池分布式:Distributed 生物,蔚来净值rmijdk:jdk分析反射安全杰姆克斯函数接口片断探究React性-x:React性-x API使用微服务:...
8 RestTemplate和@RequestBody:用于处理RESTful Web服务请求,源代码分析可以帮助我们理解如何将HTTP请求映射到Java方法,并处理JSON/XML等格式的消息体。 9 Spring MVC的配置:从配置文件web.xml开始到使用Java...
Spring Cloud能够帮助开发者快速构建分布式系统,如服务注册与发现(Eureka)、配置中心(Config)、API Gateway(Zuul或Gateway)、服务间调用(RestTemplate或Feign)、断路器(Hystrix)等。 手册中的内容可能...
- 使用Spring或Spring Boot创建服务,配置HTTP客户端,如RestTemplate或Feign,用于发送HTTP请求。 - 封装API请求,处理响应数据,可能需要进行加解密操作确保数据安全。 - 部署应用并进行测试,确保功能正常且...
首先是介绍Spring Restful框架的章节,包括JAX-RS标准、Spring MVC以及如何在客户端使用Spring RestTemplate。同时,也讲解了XML与JSON格式之间的转换,并且涉及到了安全认证的相关内容。 Jersey Restful Framework...
- 服务间调用:RestTemplate、Feign客户端。 - 服务容错与降级:Hystrix、Resilience4j。 - 分布式配置中心:Config Server。 #### 电商项目实战 1. **需求分析与设计** - 项目背景及目标。 - 系统架构设计:...
- Spring 3.2版本中,支持Servlet 3异步请求处理基础,SpringMVC的测试框架得到增强,内容协商和@ControllerAdvice注释的改进。 - 引入了基于代码的Servlet 3+容器初始化抽象基类,以及...