Heim >Java >javaLernprogramm >Wie Springboot Swagger3 und Knife4j integriert
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-boot-starter --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>
Hinweis: Die aktuelle SpringBoot-Version ist 2.5.6, Swagger3.0 derzeit nicht verfügbar Voll kompatibel mit SpringBoot2.6.x!
@RestController @RequestMapping("test") public class TestController { @GetMapping public Map<String, Object> get(@RequestParam String id) { Map<String, Object> r = new HashMap<>(1); r.put("id", id); return r; } @PostMapping public Map<String, Object> post() { Map<String, Object> r = new HashMap<>(1); r.put("code", 200); return r; } @PutMapping public Map<String, Object> put(String id) { Map<String, Object> r = new HashMap<>(1); r.put("id", id); return r; } @DeleteMapping public Map<String, Object> delete(String id) { Map<String, Object> r = new HashMap<>(1); r.put("id", id); return r; } }
@Configuration @EnableOpenApi public class SwaggerConfig { private static final String VERSION = "0.0.1"; @Bean public Docket createRestApi() { return new Docket(DocumentationType.OAS_30) .groupName("分组名称") .apiInfo(apiInfo()) .select() //要扫描的包 .apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() // 设置标题 .title("文档标题") //联系人 .contact(contact()) //描述 .description("xxx文档") //服务 .termsOfServiceUrl("https://spring.io/") //许可证 .license("Apache 2.0") .licenseUrl("https://www.apache.org/licenses/LICENSE-2.0") .version(VERSION) .build(); } private Contact contact (){ return new Contact("SpringBoot", "https://spring.io/", "email"); } }
Anmerkung | Funktion | Standort verwenden |
---|---|---|
Stellt allgemeine Parameter dar, die die Klasse beschreiben | Klasse | #🎜 🎜# |
Beschreiben Sie den Zweck der Methode | Methode | |
Methode | @ApiModel | |
#🎜 🎜# Klasse | @ApiModelProperty | |
Attribute | #🎜🎜 #@ApiIgnore | Ein Feld ignorieren, damit es nicht im Dokument erscheint |
#🎜 🎜 # | Grundlegende Verwendung der Schnittstelle | 1 Erstellen Sie eine neue Benutzerentitätsklasse |
@Api(tags = "测试接口") @RestController @RequestMapping("test") public class TestController { @ApiOperation("get请求") @GetMapping @ApiImplicitParam(name = "id", value = "测试用id", dataTypeClass = String.class) public Map<String, Object> get(@RequestParam String id) { Map<String, Object> r = new HashMap<>(1); r.put("id", id); return r; } @ApiOperation("post请求") @PostMapping public Map<String, Object> post(@RequestBody User user) { Map<String, Object> r = new HashMap<>(1); r.put("code", 200); return r; } @ApiOperation("put请求") @PutMapping @ApiImplicitParam(name = "id", value = "put请求id", dataTypeClass = String.class) public Map<String, Object> put(String id) { Map<String, Object> r = new HashMap<>(1); r.put("id", id); return r; } @ApiOperation("delete请求") @DeleteMapping @ApiImplicitParam(name = "id", value = "delete请求id", dataTypeClass = String.class) public Map<String, Object> delete(String id) { Map<String, Object> r = new HashMap<>(1); r.put("id", id); return r; } }#🎜🎜 #Laufergebnisse |
<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-micro-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency>launcher Fügen Sie **@EnableKnife4j**
@Configuration @EnableOpenApi @EnableKnife4j public class SwaggerConfigzur SwaggerConfig-Klasse hinzu
Das obige ist der detaillierte Inhalt vonWie Springboot Swagger3 und Knife4j integriert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!