springboot 整合 swagger
一、添加POM.xml
<!-- swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
二、添加SwaggerConfiguration类
@Configuration
@EnableSwagger2
public class SwaggerConfiguration {
/**
* swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
* @return
*/
@Bean
public Docket createRestfulApi(){
List<Parameter> pars = new ArrayList<Parameter>();
ParameterBuilder tokenPar = new ParameterBuilder();
tokenPar.name("Authorization").description("jwt token").modelRef(new ModelRef("string")).parameterType("header").required(true).build();
pars.add(tokenPar.build());
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.restkeeper.operator.controller")) //暴露接口地址的包路径
.build()
.globalOperationParameters(pars);
}
/**
* 构建 api文档的详细信息函数,注意这里的注解引用的是哪个
* @return
*/
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
//页面标题
.title("RESTful API")
//版本号
.version("2.0")
//描述
.description("API 描述")
.build();
}
}
三、添加Controller 注解
@Api(tags = {"运营端管理员相关接口"})
@RestController
@RefreshScope
public class UserController
四、启动查看效果
URL: http://127.0.0.1:8083/swagger-ui.html
五、swagger注解优化
@ApiOperation("分页列表查询")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "path",name= "page",value = "当前页码",required = true,dataType = "Integer"),
@ApiImplicitParam(paramType = "path",name = "pageSize",value = "每页数据大小",required = true,dataType = "Integer"),
@ApiImplicitParam(paramType = "query",name = "name",value = "用户名",required = false,dataType = "String"),
})
@GetMapping("/pageList/{page}/{pageSize}")
public IPage<OperatorUser> findListByPage(@PathVariable(name="page") int pageNum,
@PathVariable(name="pageSize") int pageSize,
@requestParam(name="name",required = false)String name){
return operatorUserService.queryPageByName(pageNum, pageSize, name);
}
六、后端模型swgger2支持
@ApiModel(value=“OperatorUser对象”, description=“运营端管理员信息”) @ApiModelProperty(value = “用户id”)
@Data
@Accessors(chain = true)
@TableName("t_operator_user")
@ApiModel(value="OperatorUser对象", description="运营端管理员信息")
public class OperatorUser implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "用户id")
@TableId(type= IdType.ID_WORKER_STR)
private String uid;
@ApiModelProperty(value = "用户名称")
private String loginname;
@ApiModelProperty(value = "用户密码")
private String loginpass;
}
密码内容可以通过@JsonIgnore进行设置
查看效果
后台接口文档
URL:http://localhost:8083/v2/api-docs
找个JSON格式化
附件:安装JSON格式化插件
1、下载JsonView扩展程序压缩包
点击【Clone or download】——【Download Zip】
2、解压这个压缩包
3、打开谷歌浏览器的扩展程序界面
方式一:在谷歌浏览器地址栏中输入:chrome://extensions/
方式二:
4、加载JsonView扩展程序
选中开发者模式,点击【加载正在开发的扩展程序…】,选择插件目录(D:\JSONView-for-Chrome-master\WebContent)
点击确定后,就安装上了。安装后界面如下:
安装完成,重新加载 (Ctrl+R)。
内容出来了