Swashbuckle.NodaTime.AspNetCore 5.0.2

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

// Install Swashbuckle.NodaTime.AspNetCore as a Cake Tool
#tool nuget:?package=Swashbuckle.NodaTime.AspNetCore&version=5.0.2                

Swashbuckle.NodaTime.AspNetCore

Continuous IntegrationNuGetLicense: MIT

轻松配置 Swashbuckle.AspNetCore,以生成针对 NodaTime 类型的正确文档。

NodaTime 是 .NET 的替代日期和时间 API,常用于替换内置的日期和时间类型。它可以通过 NodaTime.Serialization.JsonNet 包轻松配置,以很好地与 ASP.NET Core MVC 一起工作。

Swashbuckle.AspNetCore 是一个库,可无缝地将 Swagger 生成和 UI 添加到 ASP.NET Core MVC 项目中。

问题是 Swashbuckle.AspNetCore 默认生成的 Swagger 未能很好地显示 NodaTime 类型,如以下图片所示

Not-Enabled

Swashbuckle.NodaTime.AspNetCore 配置 Swashbuckle.AspNetCore 以显示 NodaTime 类型,就像它们将被真正反序列化一样

Enabled

安装

从 NuGet 安装: https://nuget.net.cn/packages/Swashbuckle.NodaTime.AspNetCore

在包管理器控制台中运行以下命令

Install-Package Swashbuckle.NodaTime.AspNetCore

用法

在设置 Swagger 时使用 AddSwaggerGen 方法调用 ConfigureForNodaTime 方法。

查看使用 Swashbuckle.AspNetCore 5.0.0 版本的示例

public class Startup
{
  public void ConfigureServices(IServiceCollection services)
  {
    // This example is using JSON.NETs default settings function with some sample overrides
    // You may also pass the settings object directly into the ConfigureForNodaTime function
    JsonConvert.DefaultSettings = () => new JsonSerializerSettings
    {
      ContractResolver = new CamelCasePropertyNamesContractResolver(),
      Converters = { new StringEnumConverter() },
      NullValueHandling = NullValueHandling.Ignore
    }.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb);

    services.AddSwaggerGen(c =>
    {
      c.SwaggerDoc("v1", new OpenApiInfo
      {
        Title = "My NodaTime API",
        Version = "v1"
      });
      c.ConfigureForNodaTime();
    });
  }
}
产品 兼容和额外的计算目标框架版本。
.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 标准化

NuGet 包

此包没有被任何 NuGet 包使用。

GitHub 仓库

此包没有被任何流行的 GitHub 仓库使用。

版本 下载 最后更新
5.0.2 18,149 3/20/2024
5.0.1 62,895 2/28/2023
5.0.0 16,539 11/8/2022
5.0.0-rc1-001 275 10/18/2022
4.0.1 83,150 9/16/2021
4.0.0 471 9/15/2021
3.0.0 49,215 7/31/2020
2.0.0 70,610 12/4/2018
1.2.0 2,328 12/4/2018
1.1.3 11,911 7/13/2018
1.1.2 5,399 2/26/2018
1.1.0 1,064 2/25/2018
1.0.1 1,066 2/25/2018
1.0.0 2,663 12/14/2017