2.2 创建maven目录结构,以及pom.xml文件
<parent >
<groupId >org.springframework.boot</groupId >
<artifactId >spring-boot-starter-parent</artifactId >
<version >2.0.5.RELEASE</version >
<relativePath />
</parent >
2.4 pom.xml文件中加入springboot-starter依赖
<dependencies >
<dependency >
<groupId >org.springframework.boot</groupId >
<artifactId >spring-boot-starter-web</artifactId >
</dependency >
</dependencies >
2.5 pom.xml文件中加入maven-springboot打包插件
<build >
<plugins >
<plugin >
<groupId >org.springframework.boot</groupId >
<artifactId >spring-boot-maven-plugin</artifactId >
</plugin >
</plugins >
</build >
import org .springframework .boot .SpringApplication ;
import org .springframework .boot .autoconfigure .SpringBootApplication ;
@ SpringBootApplication
public class Application {
public static void main (String [] args ) {
SpringApplication .run (Application .class , args );
}
}
import org .springframework .context .annotation .Bean ;
import org .springframework .context .annotation .Configuration ;
import org .springframework .http .client .ClientHttpRequestFactory ;
import org .springframework .http .client .SimpleClientHttpRequestFactory ;
import org .springframework .http .converter .StringHttpMessageConverter ;
import org .springframework .web .client .RestTemplate ;
import java .nio .charset .StandardCharsets ;
@ Configuration
public class RestTemplateConfig {
@ Bean
public RestTemplate restTemplate (ClientHttpRequestFactory factory ) {
RestTemplate restTemplate = new RestTemplate (factory );
restTemplate .getMessageConverters ().set (1 , new StringHttpMessageConverter (StandardCharsets .UTF_8 ));
return restTemplate ;
}
@ Bean
public ClientHttpRequestFactory simpleClientHttpRequestFactory () {
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory ();
factory .setReadTimeout (5000 ); // 单位为ms
factory .setConnectTimeout (5000 ); // 单位为ms
return factory ;
}
}
import org .springframework .util .LinkedMultiValueMap ;
import org .springframework .util .MultiValueMap ;
import org .springframework .web .bind .annotation .RequestMapping ;
import org .springframework .web .bind .annotation .RestController ;
import org .springframework .web .client .RestTemplate ;
import javax .annotation .Resource ;
@ RestController
public class DemoController {
@ Resource
private RestTemplate restTemplate ;
@ RequestMapping ("/get" )
public String get () {
String url = "http://localhost:8080/get?id={id}&uname={uname}&pwd={pwd}&age={age}" ;
return restTemplate .getForObject (url , String .class , 1 , "Oven" , "123456" , 18 );
}
@ RequestMapping ("/post" )
public String post () {
MultiValueMap <String , String > params = new LinkedMultiValueMap <>();
params .add ("id" , "1" );
params .add ("uname" , "Oven" );
params .add ("pwd" , "123456" );
params .add ("age" , "18" );
return restTemplate .postForObject ("http://localhost:8080/post" , params , String .class );
}
}