欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用swagger生成restful风格的接口文档

程序员文章站 2024-02-15 21:51:29
...

项目中如何配置swagger?请点击下方链接
SpringBoot集成Swagger

导入依赖

<dependency>
 	<groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.18</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

配置swagger

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    //配置了Swagger的docket实例
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //配置要扫描接口的方式
                .apis(RequestHandlerSelectors.basePackage("com.cp"))
                .build();
    }

    //配置Swagger信息
    private ApiInfo apiInfo(){
        Contact contact = new Contact("chen","http://www.baidu.com","aaa@qq.com");
        return new ApiInfo(
                "chen的Api",//title
                "描述",
                "v1.0",//version
                "http://www.baidu.com",//termsOfServiceUrl
                contact,
                "Apache 2.0",//license
                "http://www.baidu.com",//licenseUrl
                new ArrayList<>()
        );
    }
}

创建实体类

@Getter
@Setter
@ApiModel("用户实体类")
public class User {

    @ApiModelProperty("姓名")
    private String name;
    @ApiModelProperty("年龄")
    private int age;

}

创建controller

@RestController
@Api(tags = {"用户Controller"})
public class UserController {

    @GetMapping("/user/{id}")
    @ApiOperation(value = "根据id查询用户")
    //这里可以使用这句话注释也可以使用@ApiParam
    //@ApiImplicitParam(name = "id",value = "用户id",required = true,dataType = "int")
    public String userList(@ApiParam("用户id") @PathVariable int id){
        return "查询id为"+id+"的用户" ;
    }

    @PostMapping("/user")
    @ApiOperation(value = "添加用户")
    public String addUser(@ApiParam("用户对象") User user){
        return "添加的用户名为:"+user.getName() ;
    }

    @PutMapping("/user/{id}")
    @ApiOperation(value = "修改用户信息")
    public String updateUser(@ApiParam("用户id") @PathVariable int id,@ApiParam("用户对象") User user){
        return "修改的用户id为"+id+",用户名为:"+user.getName() ;
    }

    @DeleteMapping("/user/{id}")
    @ApiOperation(value = "删除用户")
    public String deleteUser(@ApiParam("用户id")@PathVariable int id){
        return "删除的用户id为"+id;
    }
}

测试

浏览器输入http://localhost:8080/swagger-ui.html

最终效果:

  • 接口信息
    使用swagger生成restful风格的接口文档
  • 实体类
    使用swagger生成restful风格的接口文档
  • 测试接口是否正常
    使用swagger生成restful风格的接口文档

什么是restful? 对restful的理解

相关标签: Swagger api