版权声明:作者:星云 交流即分享,分享才能进步!喜欢我的文章,可在博客左侧扫码赞赏~ https://blog.csdn.net/hadues/article/details/89413333
这节课来讲解下 Spring Boot 集成Web 实现Restful 风格的API 。
1.添加项目依赖
在Maven依赖中引入了spring-boot-starter-web,它包含了Spring Boot预定义的一些Web开发的常用依赖:
- spring-web, spring-webmvc Spring WebMvc框架
- tomcat-embed-* 内嵌Tomcat容器
- jackson 处理json数据
- spring-* Spring框架
- spring-boot-autoconfigure Spring Boot提供的自动配置功能
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2. application-dev.properties 配置如下
server.port=8080
server.servlet.context-path=/
# Spring Boot 日志
# SpringBoot默认使用的的日志框架是slf4j + Logback
# Logback 没有 FATAL 级别,对应着 ERROR
# 日志级别从低到高
# TRACE < DEBUG < INFO < WARN < ERROR
## 默认配置INFO、WARN、ERROR级别的日志输出到控制台
logging.level.root=info
##配置自己的应用程序日志级别,com.xingyun 是自己应用程序的根包
logging.level.com.xingyun=debug
##设置其他全部的日志等级
logging.level.*=warn
3. 创建我们的Controller
该模块常用的几种方法如下所示:
package com.xingyun.springbootwithwebsample.controller;
import org.springframework.web.bind.annotation.*;
@RestController
public class HomeController {
//最基础的拦截/ 返回字符串
@GetMapping(value = "/")
public String homePage(){
return "Hello Home Page";
}
//同时拦截多个URL
@GetMapping(value = {"/hi.do","/hello.do"})
public String helloPage(){
return "Hello Page";
}
//组合注解
//@RequestMapping(value = "/test.do",method = RequestMethod.GET)
@GetMapping(value = "/test.do")//组合注解,等价于上面这种写法
public String testPage(){
return "Hello Test get Page";
}
//@RequestMapping(value = "/test2.do",method = RequestMethod.POST)
@PostMapping(value = "/test2.do")//组合注解,等价于上面这种写法
public String test2Page(){
return "Hello Test post Page";
}
//传统风格带参数的URL
//访问http://127.0.0.1:8080/url/b?id=18
@GetMapping(value = "/url/b")
public String urlWithQuestion(@RequestParam(value = "id",required = false,defaultValue = "0") Integer uid) {
return "Hello URL -----/url/b?id=" + uid;
}
//访问http://127.0.0.1:8080/url/c.do
@PostMapping(value = "/url/c.do")
public String urlWithQuestionPost(@RequestParam(value = "id",required = false,defaultValue = "0") Integer uid){
return "Hello URL -----/url/c.do post:"+uid;
}
//Restful 风格带参数的URL
//访问http://127.0.0.1:8080/url/a/18
@GetMapping(value = "/url/a/{id}")
public String urlWithParams(@PathVariable("id") Integer uid){
return "Hello URL -----url/a/***------id="+uid;
}
}
本篇完~
更多关注我的这个系列的专栏:Spring Boot 2.x 最佳实践手册