linux

Linux中Swagger注解如何使用

小樊
36
2025-05-19 11:38:05
栏目: 智能运维

在Linux环境下使用Swagger注解,通常是为了给你的API添加文档和元数据。Swagger是一个用于设计、构建、记录和使用RESTful Web服务的框架。在Java项目中,你可以使用Swagger的注解来描述你的API接口和模型。

以下是一些常用的Swagger注解及其用法:

  1. @Api: 用于类上,表示这个类是Swagger资源。可以设置标签和描述。
@Api(tags = "用户管理", description = "用户相关的API")
public class UserController {
    // ...
}
  1. @ApiOperation: 用于方法上,表示这个方法是Swagger操作。可以设置摘要、描述、HTTP方法和响应。
@ApiOperation(value = "获取用户列表", notes = "根据条件查询用户列表", method = RequestMethod.GET, response = User.class)
public ResponseEntity<List<User>> getUserList() {
    // ...
}
  1. @ApiParam: 用于方法参数上,表示这个参数是Swagger参数。可以设置名称、描述、是否必需等。
@ApiOperation(value = "根据ID获取用户", notes = "根据用户ID查询用户信息")
@GetMapping("/users/{id}")
public ResponseEntity<User> getUserById(@ApiParam(value = "用户ID", required = true) @PathVariable Long id) {
    // ...
}
  1. @ApiModel: 用于模型类上,表示这个类是Swagger模型。可以设置名称和描述。
@ApiModel(description = "用户实体类")
public class User {
    // ...
}
  1. @ApiModelProperty: 用于模型类的属性上,表示这个属性是Swagger模型属性。可以设置名称、描述、是否必需等。
@ApiModel(description = "用户实体类")
public class User {
    @ApiModelProperty(value = "用户ID", required = true)
    private Long id;

    // ...
}

要在Linux环境下使用Swagger注解,你需要先在你的项目中添加Swagger依赖。对于Spring Boot项目,可以在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

然后,在你的Spring Boot应用中配置Swagger。创建一个配置类,继承WebMvcConfigurerAdapter,并重写addResourceHandlers方法,如下所示:

@Configuration
@EnableSwagger2
public class SwaggerConfig 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 api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }
}

现在,你的API应该已经使用Swagger注解,并且可以通过访问http://localhost:8080/swagger-ui.html来查看Swagger UI界面。

0
看了该问题的人还看了