4. Spring Boot 2.x 最佳实践之 Web 模块集成

版权声明:作者:星云 交流即分享,分享才能进步!喜欢我的文章,可在博客左侧扫码赞赏~ 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;
    }
}

GitHub 源码下载


本篇完~
更多关注我的这个系列的专栏:Spring Boot 2.x 最佳实践手册

猜你喜欢

转载自blog.csdn.net/hadues/article/details/89413333