在Spring Boot中,可以使用SpringFox库来生成REST API文档。SpringFox是一个开源项目,可以自动生成Swagger 2.0兼容的API文档。以下是一个简单的例子:
- 添加SpringFox依赖到你的
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>
- 创建一个Swagger配置类:
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2
public class SwaggerConfig {
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
- 在Spring Boot应用程序中启用Swagger:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
- 访问Swagger UI界面:
启动你的Spring Boot应用程序后,打开浏览器并访问:http://localhost:8080/swagger-ui.html。你将看到自动生成的API文档。
确保你的Controller类使用了SpringFox注解,如@Api
和@ApiOperation
来描述端点和操作。
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api")
@Api(value = "My API", description = "My API Endpoints")
public class MyController {
@GetMapping("/greeting")
@ApiOperation(value = "Greeting Endpoint", notes = "Returns a greeting message")
public String greeting() {
return "Hello, World!";
}
}
现在,当你访问http://localhost:8080/swagger-ui.html时,你应该能看到新的API端点\`/api/greeting\`。