【轻松上手,深度解析】Swagger配置全攻略

发布时间:2025-06-08 02:37:48

Swagger是一个风行的API文档跟交互式测试东西,它可能帮助开辟者轻松地创建、测试跟文档化RESTful API。本文将为你供给一个单方面的Swagger设置攻略,帮助你从入门到粗通。

一、Swagger的基本不雅点

1.1 什么是Swagger?

Swagger是一个基于OpenAPI标准的东西集,用于描述、生成、测试跟文档化RESTful API。它可能帮助开辟者疾速创建API文档,并供给一个交互式的API测试界面。

1.2 Swagger的上风

  • 易于利用:经由过程简单的设置,即可生成API文档。
  • 交互式测试:供给API的交互式测试界面,便利开辟者测试API。
  • 支撑多种言语:支撑Java、C#、Python等多种编程言语。

二、Swagger的安装与设置

2.1 安装Swagger

对.NET Core项目,可能经由过程NuGet担保理器安装Swagger:

Install-Package Swashbuckle.AspNetCore

2.2 设置Swagger

在Startup.cs文件中,设置Swagger旁边件:

public void ConfigureServices(IServiceCollection services)
{
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
    });
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    });
}

三、Swagger的设置细节

3.1 API信息设置

在Startup.cs文件中,可能经由过程SwaggerGen设置API的基本信息:

public void ConfigureServices(IServiceCollection services)
{
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1", Description = "这是一个示例API" });
    });
}

3.2 接口抉择器

Swagger支撑多种接口抉择器,如:

  • RequestHandlerSelectors.basePackage("com.xxx.xxx"):扫描指定包下的接口。
  • RequestHandlerSelectors.any():扫描全部接口。

3.3 道路抉择器

Swagger支撑多种道路抉择器,如:

  • PathSelectors.any():婚配全部道路。
  • PathSelectors.regex("^(?!/api/).*$"):婚配全部非/api/扫尾的道路。

3.4 分组

为了更好地管理API文档,可能将接口分组:

@Bean
public Docket createRestApi()
{
    return new Docket(DocumentationType.OAS30)
        .apiInfo(apiInfo())
        .groupName("全部")
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.xxx.xxx"))
        .paths(PathSelectors.any())
        .build();
}

private ApiInfo apiInfo()
{
    return new ApiInfoBuilder()
        .title("标题:xxx体系接口文档")
        .description("这是一个示例API")
        .version("v1")
        .build();
}

四、Swagger的高等功能

4.1 文件上传

Swagger支撑文件上传功能,可能经由过程以下方法实现:

[HttpPost("upload")]
public IActionResult UploadFile(IFormFile file)
{
    // TODO: 保存文件
    return Ok();
}

4.2 参数验证

Swagger支撑参数验证功能,可能经由过程以下方法实现:

[HttpPost("create")]
public IActionResult Create([FromBody] MyModel model)
{
    // TODO: 创建数据
    return Ok();
}

五、总结

经由过程本文的介绍,信赖你曾经对Swagger有了更深刻的懂得。Swagger是一个功能富强的API文档跟测试东西,可能帮助开辟者疾速创建、测试跟文档化RESTful API。盼望本文能帮助你轻松上手Swagger,并在现实项目中发挥其上风。