swagger⽣成接⼝⽂档和map类型参数解析⼀:swagger是什么?
1、是⼀款让你更好的书写API⽂档的规范且完整框架。
2、提供描述、⽣产、消费和可视化RESTful Web Service。
3、是由庞⼤⼯具集合⽀撑的形式化规范。这个集合涵盖了从终端⽤户接⼝、底层代码库到商业API管理的⽅⽅⾯⾯。
⽅法⼀:使⽤第三⽅依赖(最简单的⽅法)
1、在l⽂件中添加第三⽅swagger依赖()
<dependency>
<groupId>com.spring4all</groupId>
<artifactId>swagger-spring-boot-starter</artifactId>
<version>1.7.0.RELEASE</version>
</dependency>
View Code
2、在Spring Boot项⽬的启动类上添加@EnableSwagger2Doc注解,就可以直接使⽤啦。
3、这是GitHub上这个swagger依赖实现的项⽬,⾥⾯有详细的讲解。
⽅法⼆:使⽤官⽅依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox-version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${springfox-version}</version>
shiro安全框架</dependency>
View Code
需要特别注意的是swagger scan base package,这是扫描注解的配置,即你的API接⼝位置。
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.yss.ms.admin"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("服务:发布为daocke镜像,权限管理,⽤户管理,页⾯管理,⽇志后台 APIs")
.description("服务:发布为daocke镜像,权限管理,⽤户管理,页⾯管理,⽇志后台")
.termsOfServiceUrl("192.168.103.198:10070/platformgroup/ms-admin")
.contact("程序猿DD")
.version("1.0")
.build();
}
}
View Code
三、具体使⽤
@RequestMapping("/swagger/test/map")
@ApiOperation(value="xxxx", tags = "xxxx")
@ApiImplicitParams({
@ApiImplicitParam(name="name", dataType = "string", value = "only ")
})
@ApiResponses(value = {
@ApiResponse(code = 200, message="Indicates ..."),
@ApiResponse(code = 404, message = "not found error")
})
public Result<String> testSwaggerMap(Map map){
return null;
}
View Code
blog.csdn/xtj332/article/details/80595768
如果项⽬⽂档访问出现404,参照上⾯的地址查看原因
wwwblogs/mingxiaoyue/p/8877429.html
如果样式出现问题请参考上⾯查看原因
我在实践中遇到只有swagger页⾯头部的情况,没有⼀个api显⽰,经过查证之后发现是shiro安全框架
拦截了,将其注释掉之后就好了。具体原因还没有确定,等待有时间查⼀下,⼜或许没法解决,反正上线的时候可以将enable改为false,然后开启shiro等安全框架的拦截。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。