前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot Swagger2 可视化API

SpringBoot Swagger2 可视化API

作者头像
tanoak
发布2018-06-06 11:54:52
1.1K0
发布2018-06-06 11:54:52
举报
文章被收录于专栏:java闲聊java闲聊

在参考了大部分博客中,发现关于Swagger-ui的文档很多,但是要迅速的完成一个Demo还是需要调试,查找文档,所有记录下了这篇文章.

  1. 导入依赖
代码语言:javascript
复制
<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.2.2</version>
</dependency>

2.配置

代码语言:javascript
复制
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                        .apiInfo(apiInfo())
                        .select()
                                                      
                        .apis(RequestHandlerSelectors.basePackage("com.tanoak.controller"))//需要扫描的包
                        .paths(PathSelectors.any())
                        .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                        .title("Spring Boot中使用Swagger2构建RESTful APIs")
                        .description("更多Spring Boot相关文章:https://www.jianshu.com/u/39192052658a")
                        .termsOfServiceUrl("https://www.jianshu.com/u/39192052658a")
                        .contact("tanoak")
                        .version("1.0")
                        .build();
    }
}

3.书写Controller

代码语言:javascript
复制
    @GetMapping("json")
    @ApiOperation(value="Map<String,String>", notes="返回MapJson对象")
    @ApiImplicitParam(name = "map", value = "Map形式Json对象", required = true, dataType = "Map")
    public Map<String ,String> toJson(){
        Map<String ,String> map = new HashMap<>() ;
        map.put("name","Jack");
        map.put("site","江西南昌");
        return map ;
    }

常用注解详细说明 ps:这里只有部分,更多请参考官方文档

代码语言:javascript
复制
对象属性    @ApiModelProperty   用在出入参数对象的字段上
协议集描述   @Api    用于controller类上
协议描述    @ApiOperation   用在controller的方法上
Response集   @ApiResponses   用在controller的方法上
Response    @ApiResponse    用在 @ApiResponses里边
非对象参数集  @ApiImplicitParams  用在controller的方法上
非对象参数描述 @ApiImplicitParam   用在@ApiImplicitParams的方法里边
描述返回对象的意义   @ApiModel   用在返回对象类上

访问http://localhost:2001/swagger-ui.html ps:2001是我的端口号,自行更改 到这里就结束了,来张图片,看看效果

运行效果

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.04.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Serverless HTTP 服务
Serverless HTTP 服务基于腾讯云 API 网关 和 Web Cloud Function(以下简称“Web Function”)建站云函数(云函数的一种类型)的产品能力,可以支持各种类型的 HTTP 服务开发,实现了 Serverless 与 Web 服务最优雅的结合。用户可以快速构建 Web 原生框架,把本地的 Express、Koa、Nextjs、Nuxtjs 等框架项目快速迁移到云端,同时也支持 Wordpress、Discuz Q 等现有应用模版一键快速创建。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档