为spring boot 写的Controller中的rest接口配置swagger

1.pom.xml文件中加入下列依赖:

<dependency>   <groupId>io.springfox</groupId>   <artifactId>springfox-swagger2</artifactId>   <version>2.6.1</version></dependency>

<dependency>    <groupId>io.springfox</groupId>    <artifactId>springfox-swagger-ui</artifactId>    <version>2.6.1</version></dependency>2.创建一个Swagger2类:
//对swagger的配置@Configuration@EnableSwagger2public class Swagger2 {    @Bean    public Docket createRestApi(){        return new Docket(DocumentationType.SWAGGER_2)                .apiInfo(apiInfo())                .select()                .apis(RequestHandlerSelectors.basePackage("com.example.demo"))//扫描接口的包                .paths(PathSelectors.regex("/rest/.*"))//被文档展示的接口的地址,这里只展示rest/地址下的                .build();    }

    public ApiInfo apiInfo(){        return new ApiInfoBuilder()                .title("spring boot利用swagger构建api文档")                .description("简单优雅的rest风格")                .termsOfServiceUrl("http://www.maycpou.com")//文档遵循的开发协议的展现网址                .version("1.0")//版本                .build();    }}3.启动项目后访问http://localhost:8888/swagger-ui.html4.针对swagger2中还有很多的注解写在接口或者传入传出参数上面,来添加在swagger文档界面增加对该接口或者参数的说明如:接口方法:
 @ApiOperation(value = "添加文章",notes = "添加新的文章",tags = "Article",httpMethod = "POST")//方法的swagger注释//    @ApiImplicitParams({//            @ApiImplicitParam(name = "id" ,value = "文章Id",required = true,dataType = "String"),//            @ApiImplicitParam(name = "name" ,value = "文章名称",required = true,dataType = "String"),//    })//这个注解是针对请求参数是@RequestParam方式的时候,可以给每个参数添加swagger文档上的注释    @ApiResponses({//方法返回值的swagger注释            @ApiResponse(code = 200,message = "成功",response = AjaxResponse.class),            @ApiResponse(code = 400,message = "用户输入错误",response = AjaxResponse.class),            @ApiResponse(code = 500,message = "系统内部错误",response = AjaxResponse.class)    })    @RequestMapping(value = "/article", method = RequestMethod.POST,produces = "application/json")    //上面的注解等同于@PostMapping("/article")    public AjaxResponse saveArticle(@RequestBody Article article){//使用@RequestBody的方式接收参数,可以自动的将传入的json转化装配为对象                                    //如果使用@RequestParam的方式接受参数就要将Article对象里面的字段全部写在传入参数中        log.info("saveArticle:{}",article);        return AjaxResponse.success();    }

传出参数:
@Data@ApiModel//用于swagger的接口返回实体public class AjaxResponse {    @ApiModelProperty("是否成功")//swagger中显示的返回字段的注释    private boolean isok;    private int code;    private String message;    private Object data;    private AjaxResponse(){

    }

    public static AjaxResponse success(){        AjaxResponse resultBean = new AjaxResponse();        resultBean.setIsok(true);        resultBean.setCode(200);        resultBean.setMessage("success");        return resultBean;    }

    public static AjaxResponse success(Object data){        AjaxResponse resultBean = new AjaxResponse();        resultBean.setIsok(true);        resultBean.setCode(200);        resultBean.setMessage("success");        resultBean.setData(data);        return resultBean;    }}


原文地址:https://www.cnblogs.com/maycpou/p/11621807.html

时间: 2024-10-14 06:32:44

为spring boot 写的Controller中的rest接口配置swagger的相关文章

安装使用Spring boot 写一个hello1

一.创建springboot 项目 二.进行代编写 1.连接数据库:application.properties里配置 spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/huoguo?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone

Spring Boot 在Linux环境中 使用System.loadLibrary(&quot;XXX&quot;) 加载so文件

场景, 在Spring Boot加载so文件, 在此记录配置的过程和帮助过我的链接文档 System.loadLibrary("hello"); // Load native library at runtime hello.dll (Windows) or libhello.so 注意: window环境中文件名为hello.dll 或 libhello.so 步骤1: 把so文件存放在一个目录中 步骤2: Linux 运行jar文件配置lib库地址 nohup java -Dfil

Spring Boot (七): Mybatis极简配置

Spring Boot (七): Mybatis极简配置 1. 前言 ORM 框架的目的是简化编程中的数据库操作,经过这么多年的发展,基本上活到现在的就剩下两家了,一个是宣称可以不用写 SQL 的 Hibernate ,一个是对 SQL 非常友好的 Mybaties ,,两者各有特点,在企业级系统开发中可以根据需求灵活使用.发现一个有趣的现象:传统企业大都喜欢使用 Hibernate ,互联网行业通常使用 Mybatis . Hibernate 特点就是所有的 SQL 都用 Java 代码来生成

Spring Boot 2.X(五):MyBatis 多数据源配置

前言 MyBatis 多数据源配置,最近在项目建设中,需要在原有系统上扩展一个新的业务模块,特意将数据库分库,以便减少复杂度.本文直接以简单的代码示例,如何对 MyBatis 多数据源配置. 准备 创建数据库 db_test SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for t_user -- -------------------------

Spring Boot入门样例-001-Java和Maven安装配置

Spring Boot入门样例-001-Java和Maven安装配置 本文说明Java和Maven在windows下的安装和配置 前言 本Spring Boot入门样例准备工作参考: Spring Boot入门样例-001-Java和Maven安装配置 Spring Boot入门样例-003-idea 安装配置和插件 Spring Boot入门样例-005-如何运行 1. 下载 下载地址:https://www.oracle.com/technetwork/java/javase/downloa

自建生成代码工具(暂支持Spring boot +JPA)(更新中)

我们努力的方向就是用更少的时间写出更高质量的代码,因此我们都需要借助一些工具来提高自己的开发效率.写代码有些年头了,慢慢的可以写一些东西来提高工作效率.主要会从Java后台和Android开始,暂时叫“Auto coding”,大家如果有更好的想法麻烦告诉我,谢谢. 1. 生成后台和管理端代码  往往我们做项目会先把表建好再进行编码,管理端有多相似的地方,所以通过表SQL利用AutoCoding所以大部分代码,再对部分部分地方手动调整就能先快速完成一个功能模块. Spring boot JPA

Spring Boot事务管理(中)

在上一篇 Spring Boot事务管理(上)的基础上介绍Spring Boot事务属性和事务回滚规则 . 4 Spring Boot事务属性 什么是事务属性呢?事务属性可以理解成事务的一些基本配置,描述了事务策略如何应用到方法上.事务属性包含了5个方面,如图所示,它们定义于TransactionDefinition接口类   1. 事务隔离级别 隔离级别是指若干个并发事务之间的隔离程度. Spring Boot的隔离级别被封装在枚举类Isolation,枚举值取自接口TransactionDe

学记:为spring boot写一个自动配置

spring boot遵循"约定由于配置"的原则,使用annotation对一些常规的配置项做默认配置,减少或不使用xml配置,让你的项目快速运行起来.spring boot的神奇不是借助代码的生成来实现的,而是通过条件注解来实现的. 自动配置AutoConfiguration是实现spring boot的重要原理,理解AutoConfiguration的运行原理特别重要,自己写一个AutoConfiguration可以加深我们对spring boot的理解. 1.定义Type-saf

漫谈Spring Security 在Spring Boot 2.x endpoints中的应用(一)

Spring Boot 2.x极大简化了默认的安全配置,并不是说有很多安全相关的配置,现在你只需要提供一个WebSecurityConfigurerAdapter继承类这样一个简单的操作,Spring Boot就可以规避很多安全问题. Actuator 不再有各自单独的安全配置(management.security.*配置已被取消),每个endpoint的sensitive 标志也会被取消,这样使得安全配置更加明确了. 比如说:你有如下配置 endpoints: info: sensitive