返回顶部
扩大
缩小

Heaton

springboot整合swagger2

首先还是引用相关jar包。


io.springfox
springfox-swagger2
2.6.1

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

>构建swagger2配置bean
    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.service.Contact;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    
    @EnableSwagger2
    @Configuration
    public class SwaggerTwo {                
        @Bean
        public Docket buildDocket(){
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(buildApiInf())    //.apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.tzy.test.controller"))//要注释的接口名
                    .paths(PathSelectors.any())
                    .build();
        }
    
        private ApiInfo buildApiInf(){
            return new ApiInfoBuilder()
                    .title("大标题")
                    .description("详情")
                    .termsOfServiceUrl("http://www.cnblogs.com/ttzzyy/网址链接")
                    .contact(new Contact("Heaton_TAO", "http://www.cnblogs.com/ttzzyy/", "70416450@qq.com"))
                    .version("1.0")
                    .build();
    
        }
    }

>访问http://localhost/swagger-ui.html 注意自己的端口 ![](https://images2018.cnblogs.com/blog/1235870/201805/1235870-20180517141619986-2116072325.png)

这里会把相应包下的所有controller按类进行显示。 想显示在这里就需要在类上加注解
我们看下其中一个类UserController.java,(请忽略业务逻辑,只看注解)

    @Api(value="用户controller",description="用户操作",tags={"用户操作接口"})
    @RestController
    public class UserController {
    
        @Resource
        private UserService userService;
    
        @ApiOperation("获取用户信息")
        @GetMapping("/getUserInfo")
        public User getUserInfo(@ApiParam(name="id",value="用户id",required=true) Long id,@ApiParam(name="username",value="用户名") String username) {
            User user = userService.getUserInfo();
            return user;
        }
            
        @ApiOperation("更改用户信息")
        @PostMapping("/updateUserInfo")
        public int updateUserInfo(@RequestBody @ApiParam(name="用户对象",value="传入json格式",required=true) User user){
            int num = userService.updateUserInfo(user);
            return num;
        }
    
        @ApiOperation("添加用户信息")
        @PostMapping("/saveUser")
        public String saveUser(@RequestBody @ApiParam(name="user",value="json fromat",required=true) User user) {
            userService.saveUser(user);
            return "success";
        }
    }

>这里说明下,在使用对象作为参数时,可以在对象上添加相应的注解,用户页面显示。
    @ApiModel(description="用户对象user")
    @DATA
    public class User {
        @ApiModelProperty(value="用户名",name="username")
        private String username;
        @ApiModelProperty(value="状态",name="state",required=true)
        private Integer state;
        private String password;
        private String nickName;
        private Integer isDeleted;
    }        

![](https://images2018.cnblogs.com/blog/1235870/201805/1235870-20180517142240182-2021198852.png) ![](https://images2018.cnblogs.com/blog/1235870/201805/1235870-20180517142302239-230517701.png) >看上图红框的部分,其中一个是json格式的点击就可以获取参数格式。 >第二张中可以看到字段相应的注释和是否必填。 >如果在字段上添加注释@ApiModelProperty(required=true)就是必填(默认是false),相应的页面optional标识也会消失,标识这个字段必填。 >点击下面的try it out按钮就可以进行调试。 >在使用单个参数时,如上面代码中的getUserInfo()方法,对应的效果图如下: ![](https://images2018.cnblogs.com/blog/1235870/201805/1235870-20180517142422968-1233074997.png) >这里如果是添加required=true,@ApiParam(required=true)则会在页面上显示required的标识。同样默认为false。 >其他的使用方式可以自己动手试试。
[参考链接:](https://blog.csdn.net/u014231523/article/details/76522486)

posted on 2018-05-17 14:31  咘雷扎克  阅读(2053)  评论(0编辑  收藏  举报

导航