Swagger2 demo

为了减少程序员撰写文档,提高生产力,swagger2应运而生,使用swagger2可以减少便携过多的文档,只需要通过代码就能生成api文档,非常方便。(代码取自慕课网:java架构师课程)

步骤

  1. 引入依赖
<!-- swagger2 配置 -->
<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>
<dependency>
		<groupId>com.github.xiaoymin</groupId>
		<artifactId>swagger-bootstrap-ui</artifactId>
		<version>1.6</version>
</dependency>
  1. 文档标题和简介编写
    创建配置类Swagger2
@Configuration
@EnableSwagger2
public class Swagger2 {
    // http://localhost:8088/swagger-ui.html  原路径
    // 配置swagger2核心配置
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2) // 指定api类型为swagger2
                .apiInfo(apiInfo()) // 用于定义api文档汇总信息
                .select()
                .apis(RequestHandlerSelectors.basePackage("work.jimmmy.foodie.controller")) // 指定controller的包
                .paths(PathSelectors.any()) // 所有controller
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("天天吃货 电商平台api") // 文档页标题
                .contact(new Contact("imooc",
                        "https://www.imooc.com",
                        "abc@imooc.com"))
                .description("转为天天吃货提供的api文档")
                .version("1.0.1")
                .termsOfServiceUrl("https://www.imooc.com")
                .build();
    }
}

在这里插入图片描述

  1. 常用注解
@ApiIgonre 
// 当前类的所有方法,不在文档中显示

@Api  // 用于修饰controller对象
// 例:  - value: 值		- tags:显示的tab名
@Api(value = "注册登录", tags = {"用于注册登录的相关接口"})

@ApiOperation  // 用于controller对象中的方法
// 例: value - 接口名称   notes - 接口说明
@ApiOperation(value = "用户名是否存在", notes = "用户名是否存在", httpMethod = "GET")

@ApiParam // 用于controller对象的方法中的参数
// 例:name - 参数名(parameter)  value - 描述
@RequestBody @ApiParam(name = "userBo", value = "用户模型", required = true) UserBo userBo

@ApiModel // 用于修饰模型类
// 例: - value 对象类型
@ApiModel(value = "用户对象BO", description = "从客户端,由对象传如的数据封装在此entity中")

@ApiModelProperty
// 例:- value 说明, - name 参数名称  - example 调试中的默认值
@ApiModelProperty(value = "用户名", name = "username", example = "imooc", required = true)

在这里插入图片描述

您好,以下是springboot整合swagger2的步骤demo: 1. 在pom.xml文件中添加swagger2的依赖: ``` <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> ``` 2. 创建Swagger2配置类,用于配置Swagger2相关信息: ``` @Configuration @EnableSwagger2 public class Swagger2Config { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot中使用Swagger2构建RESTful APIs") .description("更多Spring Boot相关文章请关注:http://www.example.com/") .termsOfServiceUrl("http://www.example.com/") .contact("example") .version("1.0") .build(); } } ``` 3. 在Controller类中添加Swagger2注解,用于描述接口信息: ``` @RestController @RequestMapping("/user") @Api(tags = "用户管理") public class UserController { @ApiOperation(value = "获取用户列表", notes = "获取所有用户列表") @GetMapping("/list") public List<User> list() { // ... } @ApiOperation(value = "创建用户", notes = "根据User对象创建用户") @ApiImplicitParam(name = "user", value = "用户实体", required = true, dataType = "User") @PostMapping("/create") public String create(@RequestBody User user) { // ... } @ApiOperation(value = "更新用户", notes = "根据User对象更新用户") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long"), @ApiImplicitParam(name = "user", value = "用户实体", required = true, dataType = "User") }) @PutMapping("/update/{id}") public String update(@PathVariable Long id, @RequestBody User user) { // ... } @ApiOperation(value = "删除用户", notes = "根据ID删除用户") @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long") @DeleteMapping("/delete/{id}") public String delete(@PathVariable Long id) { // ... } } ``` 4. 启动应用程序,访问http://localhost:8080/swagger-ui.html,即可查看Swagger2生成的接口文档。 希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值