前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring boot集成模板引擎swagger2实现

Spring boot集成模板引擎swagger2实现

作者头像
IT架构圈
发布于 2021-10-21 06:22:37
发布于 2021-10-21 06:22:37
49300
代码可运行
举报
文章被收录于专栏:IT架构圈IT架构圈
运行总次数:0
代码可运行

上次说过springboot其实就是一个CI工具,如何体验出来CI的作用就是持续集成,它可以集成各种的工具,这里说说关于模板的集成引擎和Swagger。

Spring boot 集成模板引擎实现web应用(一)
  • ① 静态资源访问

静态资源

js, css, html, 图片,音视频

静态资源路径

系统可以直接访问的路径,且路径下的所有文件均可被用户直接读取。 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /static,/public,/resources,/META-INF/resources

在classpath下面创建static目录,并且加入一个图片a.png

加入之后,然后不需要重启直接访问:http://localhost:8888/a.jpg

properties 内修改默认的静态资源目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spring.resources.static-locations
集成模板引擎(二)

Spring Boot强烈建议使用模板引擎渲染html页面,避免使用JSP,若一定要使用JSP将无法实现Spring Boot的多种特性。Thymeleaf(spring boot推荐), FreeMarker。

  • ① Thymeleaf

Spring boot默认的模板配置路径为:src/main/resources/templates。当然也可以修改这个路径,通过配置文件的属性,这个在上次的配置的文件的里面有详细的解释配置里面有。

集成Thymeleaf步骤

1.修改pom.xml, 增加如下依赖。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

2.编写Controller

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @program: springboot3d
 * @description: ${description}
 * @author: LiMing
 * @create: 2019-06-09 09:15
 **/
@Controller
public class SampleController {

    @RequestMapping("/testThymeleaf")
    public String testThymeleaf(ModelMap map) {
        // 设置属性
        map.addAttribute("name", "idig8");
        // testThymeleaf:为模板文件的名称
        // 对应src/main/resources/templates/testThymeleaf.html
        return "testThymeleaf";
    }
}

3.在src/main/resources/下面建立templates/testThymeleaf.html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html xmlns:th="http://www.w3.org/1999/xhtml">
<head lang="en">
    <meta charset="UTF-8" />
    <title>testThymeleaf</title>
</head>
<body>
<h1 th:text="${name}">idig88</h1>
</body>
</html>

4.运行spring boot,浏览器输入:http://localhost:8888/testThymeleaf

  • ② FreeMarker 1.修改pom.xml,增加依赖
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

2.Controller

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RequestMapping("/testFreemarker")
    public String testFreemarker(Map<String,String> map) {
        map.put("name", "张三");
        return "hello"; //默认为src/main/resources/templates/hello.flt
    }

3.hello.flt,目录为:src\main\resources\templates

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<html>
<body>
    hello, ${name}
</body>
</html>

4.运行spring boot main,浏览器输入如下地址:http://localhost:8881/testFreemarker

集成Swagger2构建RESTful API文档(三)
  • ① Swagger2

1.随项目自动生成强大RESTful API文档,减少工作量 2.API文档与代码整合在一起,便于同步更新API说明 3.页面测试功能来调试每个RESTful API

  • ② 集成Swagger2步骤

1.修改pom.xml, 添加Swagger2依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.2.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.2.2</version>
</dependency>

2.创建Swagger2配置类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @program: springboot3d
 * @description: ${description}
 * @author: LiMing
 * @create: 2019-06-09 10:20
 **/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.idig8.springboot"))// 指定扫描包下面的注解
                .paths(PathSelectors.any())
                .build();
    }
    // 创建api的基本信息
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("集成Swagger2构建RESTful APIs")
                .description("集成Swagger2构建RESTful APIs")
                .termsOfServiceUrl("https://www.idig8.com")
                .contact("欢迎关注:编程坑太多")
                .version("1.0.0")
                .build();
    }
}

2.创建Controller: SwaggerController.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * @program: springboot3d
 * @description: ${description}
 * @author: LiMing
 * @create: 2019-06-09 10:22
 **/
@RestController
@RequestMapping(value="/swagger")
public class SwaggerController {
    @ApiOperation(value="获取用户信息", notes="根据id来获取用户详细信息")
    @ApiImplicitParam(name="id", value="用户ID", required=true, dataType="String")
    @RequestMapping(value="/{id}", method= RequestMethod.GET)
    public Map<String,String> getInfo(@PathVariable String id) {
        Map<String ,String> map = new HashMap<String, String>();
        map.put("name", "张三");
        map.put("age", "34");
        return map;
    }
}

4.启动Spring boot,访问Swagger UI界面:http://localhost:8881/swagger-ui.html

PS:今天说了简单模板引擎和swagger2的介绍,只是功能介绍详细的细节没有做阐述。先从会用开始吧,具体的细节还是看官方的api更详细,这里只是从入门开始说起。

点击👆卡片,共同学习共同进步,我的坚持你的收获。

在看点这里

好文分享给更多人↓↓

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT架构圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
『互联网架构』软件架构-Spring boot集成模板引擎swagger2实现(87)
系统可以直接访问的路径,且路径下的所有文件均可被用户直接读取。Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:/static,/public,/resources,/META-INF/resources
IT架构圈
2019/06/25
4900
『互联网架构』软件架构-Spring boot集成模板引擎swagger2实现(87)
SpringBoot集成Swagger2
在一些接口项目中,API的使用很频繁,所以一款API在线文档生成和测试工具非常有必要。而Swagger UI就是这么一款很实用的在线工具 本博客介绍如何在公司或者自己的电脑上按照Swagger UI,本博客介绍一下怎么集成到SpringBoot项目中,Swagger可以安装在线使用,安装教程可以参考我之前的博客,安装在linux系统的,https://smilenicky.blog.csdn.net/article/details/70276327
SmileNicky
2019/06/14
5600
SpringBoot集成Swagger2
springboot 之集成Swagger2
一直没机会做spring生态圈的框架,公司选择的是一些小众的微服务,鉴于此考虑,丰富自己的技术栈,花了两天时间从网上各网站上学习了springboot一些基础知识。 本章只介绍springboot微服务集成swagger2,用于后端工程师开发过程中调试接口。
felixxue
2022/12/30
3200
springboot 之集成Swagger2
「小程序JAVA实战」swagger2的使用与接口测试(34)
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan;
IT架构圈
2018/12/28
8000
SpringBoot 实战 | 集成 Swagger2 构建强大的 RESTful API 文档
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
JavaFish
2019/10/17
7440
SpringBoot 项目集成Swagger2
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。 作用:
Freedom123
2024/03/29
1130
SpringBoot 项目集成Swagger2
spring boot 整合swagger-ui 与 swagger2
首先新建一个spring boot 工程: 我直接在以前的仓库里写了,application如下: package demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public sta
小小明童鞋
2018/06/13
9880
Swagger2介绍+与SpringMVC整合
本文简单介绍了SpringMVC项目中集成swagger的流程和一些注意点。如果想深入分析项目源码,了解更多内容,见参考资料。
wuweixiang
2018/08/14
5.9K2
Spring Boot启用Swagger2
Swagger2是一个开源项目,用于为RESTful Web服务生成REST API文档。它提供了一个用户界面,可通过Web浏览器访问RESTful Web服务。要在Spring Boot应用程序中启用Swagger2,需要在构建配置文件中添加以下依赖项。
黑洞代码
2021/09/28
8040
swagger2
Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。
xiaozhangStu
2023/10/19
1960
spring boot 下swagger2 的使用
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
acc8226
2022/05/17
6710
spring boot 下swagger2 的使用
第九节:SpringBoot在线文档Swagger2入门
Swagger2 是一个开源项目,用于为 RESTful Web 服务生成 REST API 文档。它提供了一个用户界面,可以通过 Web 浏览器访问我们的 RESTful Web 服务,测试接口。 SpringBoot集成Swagger2 3.0以下版本 pom.xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </
入门笔记
2022/02/10
4590
REST API文档工具Swagger2,以及与SpringBoot的集成
swagger是一个API框架,号称世界上最流行的API工具。它提供了API管理的全套解决方案,比如API在线编辑器,APIUI展示界面,代码生成器等诸多功能。 Swagger官方地址
飞狗
2018/09/10
1.1K0
REST API文档工具Swagger2,以及与SpringBoot的集成
Spring Boot 集成 Swagger2,构建强大的 API 文档
本文已收录至:https://cunyu1943.blog.csdn.net/ 前言 不管你是从事前端还是后端开发,相信都难免被接口文档折磨过。如果你是一个前端开发者,可能你会经常发现后端给的接口文档跟实际代码有所出入。而假设你是一个后端开发者,你可能又会觉得自己开发后端接口已经够烦的了,还要花费大量精力去编写和维护接口文档,所以难免有时候会更新不及时。这就可能造成了前后端相互不理解,最后甚至吵起来,哈哈哈 🤪。 这时候我们就会想,有没有一款工具,能让我们快速实现编写接口文档。这个工具既能保证我们的接口文档
村雨遥
2022/01/19
5260
Spring Boot 集成 Swagger2,构建强大的 API 文档
SpirngBoot之整合Swagger2
swagger,中文“拽”的意思。它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅, 而且还提供了在线文档的测试。另外swagger很容易构建restful风格的api。
用户1195962
2018/08/02
5540
SpirngBoot之整合Swagger2
Spring Boot实战:集成Swagger2
一、Swagger简介   上一篇文章中我们介绍了Spring Boot对Restful的支持,这篇文章我们继续讨论这个话题,不过,我们这里不再讨论Restful API如何实现,而是讨论Restful API文档的维护问题。   在日常的工作中,我们往往需要给前端(WEB端、IOS、Android)或者第三方提供接口,这个时候我们就需要给他们提供一份详细的API说明文档。但维护一份详细的文档可不是一件简单的事情。首先,编写一份详细的文档本身就是一件很费时费力的事情,另一方面,由于代码和文档是分离的,所以很
用户2140019
2018/05/18
1.1K0
springboot集成swagger2出现404解决方案汇总
3、SpringApplication.run(xxx.class, args)。
有一只柴犬
2024/01/25
2.8K0
springboot集成swagger2出现404解决方案汇总
SpringBoot整合Swagger2「建议收藏」
Swagger也就是为了解决这个问题,当然也不能说Swagger就一定是完美的,当然也有缺点,最明显的就是代码移入性比较强。
全栈程序员站长
2022/08/04
3970
美化一下你的API文档吧(springboot集成swagger及遇到的问题)
微服务的流行提供了诸多的方便,随着也带来了N多的API,而swagger2正是一个对API管理的很好的“工具”,本文主要介绍springboot对swagger2的集成,以及集成中遇到的无法访问的问题。
小尘哥
2018/08/15
1.7K0
美化一下你的API文档吧(springboot集成swagger及遇到的问题)
SpringBoot使用Swagger2实现Restful API
很多时候,我们需要创建一个接口项目用来数据调转,其中不包含任何业务逻辑,比如我们公司。这时我们就需要实现一个具有Restful API的接口项目。 本文介绍springboot使用swagger2实现
dalaoyang
2018/04/28
1.1K0
SpringBoot使用Swagger2实现Restful API
相关推荐
『互联网架构』软件架构-Spring boot集成模板引擎swagger2实现(87)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验