Microsoft.Restier.AspNetCore.Swagger 1.1.1

前缀已保留
dotnet add package Microsoft.Restier.AspNetCore.Swagger --version 1.1.1                
NuGet\Install-Package Microsoft.Restier.AspNetCore.Swagger -Version 1.1.1                
此命令旨在在Visual Studio的包管理器控制台中使用,因为它使用了NuGet模块的Install-Package 版本。
<PackageReference Include="Microsoft.Restier.AspNetCore.Swagger" Version="1.1.1" />                
对于支持 PackageReference 的项目,将此XML节点复制到项目文件中,以引用此包。
paket add Microsoft.Restier.AspNetCore.Swagger --version 1.1.1                
#r "nuget: Microsoft.Restier.AspNetCore.Swagger, 1.1.1"                
#r 指令可以在F# Interactive和Polyglot Notebooks中使用。将其复制到交互性工具或脚本的源代码中,以引用该包。
// Install Microsoft.Restier.AspNetCore.Swagger as a Cake Addin
#addin nuget:?package=Microsoft.Restier.AspNetCore.Swagger&version=1.1.1

// Install Microsoft.Restier.AspNetCore.Swagger as a Cake Tool
#tool nuget:?package=Microsoft.Restier.AspNetCore.Swagger&version=1.1.1                

Microsoft Restier - 简单的OData

发布   |   文档   |   OData v4.01 文档

Restier ASP.NET Core的Swagger

此包可以帮助您在代码几行内快速实现Restier服务中的OpenAPI的Swagger.json和Swagger UI。

支持的平台

Microsoft.Restier.AspNetCore.Swagger 1.1目前支持以下平台

  • ASP.NET Core 6.0, 7.0, 和 8.0 通过端点路由

入门指南

将OpenAPI集成到您的Restier项目中很简单!

步骤 1: 安装 Microsoft.Restier.AspNetCore.Swagger

  • 将上述包添加到您的API项目中。
  • [可选] 将您的Restier包的版本更改为 1.*-*,以便始终获取最新版本。

步骤 2: 转换到端点路由(第1部分)

  • 将新参数添加到您的 services.AddRestier() 调用的末尾
    services.AddRestier((builder) =>
    {
        ...
    }, true); // <-- @robertmclaws: This parameter adds Endpoint Routing support.

步骤 3: 注册Swagger服务

  • 在调用services.AddRestier()之后立即添加以下行
services.AddRestierSwagger();
  • 此方法有一个重载版本,它接受一个Action<OpenApiConvertSettings>,这允许您更改生成Swagger定义的配置。

步骤 4:转换为端点路由及使用Swagger(第 2 部分)

  • 将您现有的Configure代码替换为以下内容(别忘了您的自定义内容)
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseRestierBatching();
        app.UseRouting();

        app.UseAuthorization();
        // @robertmclaws: This line is optional but helps with leveraging ClaimsPrincipal.Current for cross-platform business logic.
        app.UseClaimsPrincipals();

        app.UseEndpoints(endpoints =>
        {
            endpoints.Select().Expand().Filter().OrderBy().MaxTop(100).Count().SetTimeZoneInfo(TimeZoneInfo.Utc);
            endpoints.MapRestier(builder =>
            {
                builder.MapApiRoute<YOURAPITYPEHERE>("ROUTENAME", "ROUTEPREFIX", true);
            });
        });

        app.UseRestierSwagger(true);
    }
  • 在最后一行,布尔值指定是否使用SwaggerUI。如果您想控制更多UI配置,请在ConfigureServices()方法中使用services.Configure<SwaggerUIOptions>();

步骤 5:浏览Swagger资源

  • 浏览到/swagger/ROUTENAME/swagger.json以查看生成的Swagger定义。
  • 浏览到/swagger以查看Swagger UI。

报告安全问题

安全问题应通过电子邮件私密报告给微软安全响应中心(MSRC)[email protected]。您应在24小时内收到回复。如果由于某种原因您没收到回复,请通过电子邮件跟进,以确保我们收到了您的原始消息。有关更多信息,包括MSRC PGP密钥,请参阅安全技术中心。您也可以在该仓库的SECURITY.md中找到这些说明。

贡献者

特别感谢所有为使Restier成为.NET最好的API开发平台而做出贡献的人。以下人员对该包做出了各自贡献:

外部
Cengiz Ilerler
Robert McLaws
Micah Rairdon
产品 兼容的和额外的计算目标框架版本。
.NET net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 兼容。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 兼容。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解有关目标框架.NET Standard的更多信息。

NuGet 包

本包未由任何 NuGet 包使用。

GitHub 仓库

本包未由任何流行的 GitHub 仓库使用。

版本 下载 上次更新
1.1.1 272 7/12/2024
1.1.1-rc.1.20240710.0 33 7/10/2024
1.1.1-CI-20240706-232326 79 7/6/2024
1.1.0 990 11/28/2023
1.1.0-rc.2.20231127.0 69 11/27/2023
1.1.0-rc.2.20231126.1 69 11/26/2023
1.1.0-rc.2.20231126.0 63 11/26/2023
1.1.0-CI-20231125-225528 96 11/25/2023