Springboot集成Swagger

作用

swagger是为了方便进行测试后台的restful形式的接口,实现动态的更新,当我们在后台的接口修改了后,swagger可以实现自动的更新,而不需要人为的维护这个接口进行测试。

步骤

先添加pom配置

		<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>

配置config类,保证启动类能扫描到

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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
  * @author XM
  * @date 2019-04-17
  */
@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                // 选择那些路径和api会生成document
                .select()
                // 对哪些api进行监控
                .apis(RequestHandlerSelectors.basePackage("com.xm.demo"))
                // 对所有路径进行监控
                .paths(PathSelectors.any())
                .build();
    }

    //构建 api文档的详细信息函数,注意这里的注解引用的是哪个
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                //页面标题
                .title("spring boot 测试 Swagger构建RESTful API")
                //版本号
                .version("1.0")
                //描述
                .description("描述")
                .build();

    }
}

此时可能会报404,要添加静态资源
在这里插入图片描述

@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/");
    }

此时访问 http:// ip:端口 /swagger-ui.html 就可看到页面

添加测试controller类

@Api(description = "用户接口") 
@Controller
@RequestMapping(value = "demoUser")
public class DemoUserController {

    @Resource
    private DemoUserService demoUserService;
    
    /**
     * 查看数据
     *
     * @return
     */
    @ApiOperation(value = "查看接口")
    @GetMapping(value = "/page")
    @ResponseBody
    public List<DemoUserDO> data(@ModelAttribute UserQuery userQuery) {
        List<DemoUserDO> datas = demoUserService.backQuery(userQuery);
        return results;
    }

   /**
     * 新增记录
     *
     * @param demoUserDO
     */
    @ApiOperation(value = "新增接口")
    @PostMapping(value = "/create")
    @ResponseBody
    public String create(@ModelAttribute DemoUserDO demoUserDO) {
        demoUserService.insert(demoUserDO);
        return "SUCCESS";
    }
    
    /**
     * 删除记录
     *
     * @param id
     */
    @ApiOperation(value = "删除接口")
    @DeleteMapping(value = "/{id}")
    @ResponseBody
    public String delete(@PathVariable(value = "id") int id) {
        demoUserService.delete(id);
        return "SUCCESS";
    }

    /**
     * 更新记录
     *
     * @param demoUserDO
     */
    @ApiOperation(value = "更新接口")
    @PostMapping(value = "/update")
    @ResponseBody
    public String update(@ModelAttribute DemoUserDO demoUserDO) {
        demoUserService.update(demoUserDO);
        return "SUCCESS";
    }
}

页面如下,之后就可以进行各种操作了
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Spring Boot中集成Swagger,你需要做以下几个步骤: 1. 首先,确保你使用的是Spring Boot 2.5.x及之前的版本。因为从Spring Boot 2.6.x开始,Swagger已经从Spring Boot中移除了。 2. 在你的Spring Boot应用中添加Swagger的依赖。在pom.xml文件中,添加以下依赖: ```xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> ``` 3. 在启动类上添加`@EnableSwagger2`注解。这个注解会启用Swagger的功能。你可以将这个注解直接添加到你的Spring Boot启动类上,或者创建一个单独的配置类,在配置类中添加这个注解。 4. 配置Swagger的相关属性。你可以在`application.properties`或`application.yml`文件中添加以下配置: ```yaml springfox.documentation.swagger.v2.path=/swagger springfox.documentation.swagger.ui.enabled=true ``` 这些配置将指定Swagger的路径和UI的启用状态。 5. 编写API文档。在你的控制器类中,使用Swagger的注解来描述你的API接口。例如,你可以使用`@Api`注解来给你的控制器类添加一个API的描述,<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SpringBoot教程(十六) | SpringBoot集成swagger(全网最全)](https://blog.csdn.net/lsqingfeng/article/details/123678701)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值