在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文档。