Springboot集成Swagger2

Springboot使用Swagger快速生成api文档管理,网上有很多帖子写了方法,在这里我记录一下步骤方便之后查阅

1.引入依赖

<dependency>
        <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.7.0</version>
        </dependency>
        <!-- swagger-ui为项目提供api展示及测试的界面 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
        </dependency>

2.引入静态资源

需要到github上下载swagger-ui的包连接地址:swagger项目地址

下载后解压将dist文件夹的内容导入项目

3.创建SwaggerApiConfig类

1),创建 Dock对象的bean,设置参数

2).addResourceHandlers方法添加映射,使http:localhost:8080/swagger-ui.html连接可以访问api接口页面,需要注意自己的资源路径

@EnableWebMvc
@EnableSwagger2
@Configuration
@ComponentScan(basePackages ="cn.victw.datatool.controller")
public class SwaggerApiConfig extends WebMvcConfigurerAdapter {
    
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("cn.victw.datatool.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("北京外企平台3.0在线API文档")
                .termsOfServiceUrl("http://blog.csdn.net/zhuzj12345")
                .contact(new Contact("Jackson.zhu","http://blog.csdn.net/zhuzj12345","zhuzj40721p@126.com"))
                .version("1.0.0")
                .build();
    }
}

3.在controller的方法上加注释,swagger会自动生成文档

@RestController
@RequestMapping("/user")
@Api("swaggerDemoController相关的api")
public class UserController {
    @Autowired
    private UserService userService;

    @ApiImplicitParams({
        @ApiImplicitParam(name="name",value="姓名",dataType="String")
    })
    @ApiOperation(value = "查询所有人员信息")
    @GetMapping("/all")
    @ResponseBody
    public JSONObject getAllUserInfo(HttpServletRequest request, HttpServletResponse response){
        JSONObject result=new JSONObject();
        try{
            List<User>  list=userService.getAllUser();
            result.put("key",200);
            result.put("list",list);
        }catch (Exception e){
            result.put("key",500);
            e.printStackTrace();
        }
        return result;
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值