在 CentOS 系统中,要自定义 Swagger 注解,你需要遵循以下步骤:
首先,确保你的项目中包含了 Swagger 和相关依赖。在 Maven 项目的 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>
在项目中创建一个新的 Java 类,用于定义你的自定义注解。例如,创建一个名为 MyCustomAnnotation.java 的文件:
package com.example.demo.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyCustomAnnotation {
String value() default "";
}
在这个例子中,我们创建了一个名为 MyCustomAnnotation 的注解,它可以应用于方法和类,并在运行时保留。
在你的项目中使用自定义注解。例如,在一个名为 MyController.java 的控制器类中:
package com.example.demo.controller;
import com.example.demo.annotation.MyCustomAnnotation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@MyCustomAnnotation("This is a custom annotation example")
public class MyController {
@GetMapping("/hello")
@MyCustomAnnotation("This is a custom annotation for the hello method")
public String hello() {
return "Hello, World!";
}
}
在这个例子中,我们将 MyCustomAnnotation 注解应用于控制器类和方法。
为了让 Swagger 识别你的自定义注解,你需要配置 Swagger。创建一个名为 SwaggerConfig.java 的文件:
package com.example.demo.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;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("My API")
.description("My API description")
.version("1.0.0")
.build();
}
}
在这个例子中,我们配置了一个名为 api 的 Docket Bean,它将扫描 com.example.demo.controller 包中的所有控制器,并为它们生成 API 文档。
启动你的应用程序,然后访问 Swagger UI 页面(通常是 http://localhost:8080/swagger-ui.html)。你应该能看到你的自定义注解出现在 API 文档中。
以上步骤应该可以帮助你在 CentOS 系统中自定义 Swagger 注解。根据你的需求,你可以进一步扩展和自定义注解。