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)
您的资助是我最大的动力!
金额随意,欢迎来赏!