在Ubuntu上联用Swagger(现称为OpenAPI)与Spring Boot主要涉及安装Swagger UI和配置Spring Boot以生成API文档。以下是详细的步骤:
在你的Spring Boot项目的pom.xml文件中添加Swagger相关的依赖:
<dependencies> <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> </dependencies> 创建一个名为SwaggerConfig.java的Java配置类,并添加如下代码:
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; 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("API文档") .description("这是一个用于演示Swagger的API文档") .version("1.0") .build(); } } 请确保将com.example.demo.controller替换为您实际的控制器包名。
启动您的Spring Boot应用。通常,您可以通过运行以下命令来启动:
./mvnw spring-boot:run 或者,如果您使用的是IDE(如IntelliJ IDEA或Eclipse),则可以直接运行Spring Boot应用的启动类。
启动Spring Boot应用后,在浏览器中访问以下URL:
http://localhost:8080/swagger-ui.html 您将看到Swagger UI界面,其中包含了所有已注册的API接口信息。您可以直接在此界面测试您的API。
如果您希望使用Apache或Nginx作为Web服务器,可以参考以下配置示例:
sudo a2ensite default.conf sudo systemctl restart apache2 sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.baksudo nano /etc/nginx/sites-available/default 修改server块中的root和index指令:
server { listen 80 default_server; listen [::]: 80 default_server; root /var/www/html; index index.html index.htm; server_name _; location / { try_files $uri $uri/ =404; } } 保存并退出编辑器,然后重启Nginx:
sudo systemctl restart nginx 通过以上步骤,您就可以在Ubuntu上成功集成Swagger与Spring Boot,并生成和查看API文档。