当前位置: 首页 > wzjs >正文

360建筑网官方网站网页设计制作实验报告

360建筑网官方网站,网页设计制作实验报告,wordpress导出网页,用php如何建设网站微软已经放弃了对 .NET 9 中 Swagger UI 包 Swashbuckle 的支持。他们声称该项目“不再由社区所有者积极维护”并且“问题尚未得到解决”。 这意味着当您使用 .NET 9 模板创建 Web API 时,您将不再拥有 UI 来测试您的 API 端点。 我们将调查是否可以在 .NET 9 中使用…

        微软已经放弃了对 .NET 9 中 Swagger UI 包 Swashbuckle 的支持。他们声称该项目“不再由社区所有者积极维护”并且“问题尚未得到解决”。

        这意味着当您使用 .NET 9 模板创建 Web API 时,您将不再拥有 UI 来测试您的 API 端点。

        我们将调查是否可以在 .NET 9 中使用 Swagger UI 以及是否有更好的替代方案。

创建 .NET 项目

    无论您使用 Visual Studio 创建 .NET 8 还是 .NET 9 Web API,您都可以选择启用 OpenAPI 支持。

在 Visual Studio 中创建 Web API 并启用 OpenAPI 支持

        当你启用它时,它将在Program.cs文件中配置 OpenAPI。但是,取决于你使用的版本,将取决于配置的内容。

.NET 8 中的 Swashbuckle

    这会将 Swashbuckle 配置到您的项目中。当您使用开发环境运行应用程序时,它将加载 Swagger UI,您可以在其中测试应用程序中的 API 端点。

在 .NET 8 中,ASP.NET Core Web API 中加载的 Swagger UI

        这是通过添加Swashbuckle.AspNetCoreNuGet 包并将以下代码行添加到Program.cs文件来配置的: 

// Program.cs
var builder = WebApplication.CreateBuilder(args);

...

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

...

app.Run();

.NET 9 的情况截然不同

    但是,当你使用 .NET 9 创建 ASP.NET Core Web API 时,它只会添加引用 OpenAPI 的扩展方法:

// Program.cs
var builder = WebApplication.CreateBuilder(args);

...

builder.Services.AddOpenApi();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.MapOpenApi();
}

...

app.Run();

        没有对 Swagger 的引用,并且 Swagger UI 链接给您 404 Not Found 错误响应。

在 .NET 9 中找不到 Swagger UI

        这意味着您无法默认测试 API 端点。唯一添加的是 OpenAPI JSON 文档,您可以从 获得 /openapi/v1.json。 

在 .NET 9 中创建 Web API 项目时仅添加 OpenAPI 文档

替代方案

    随着 Swashbuckle 的消失,您还可以通过哪些其他方式测试应用程序中的 API 端点?

Postman

    Postman 是一个很好的选择,因为它可以轻松测试多个环境。由于 .NET 9 Web API 提供了 OpenAPI JSON 文档,我们可以使用该链接在 Postman 中导入端点。

    为此,请打开左上角的菜单,然后转到文件和导入。粘贴 OpenAPI JSON 文档中的 URL,即https://localhost:{portnumber}/openapi/v1.json。

    当您执行此操作时,它将添加一个集合并保存从 OpenAPI JSON 文档添加的所有 API 端点。

使用 Postman 测试 ASP.NET Core Web API 端点 

    它还将基本 URL 添加为变量,使在多个环境中测试变得更加容易。{{baseUrl}}测试不同环境时只需更新变量即可。

    此外,它还可以阻止您在应用程序中意外暴露 API 端点。

NSwag

    如果您想在应用程序内测试 API 端点,则可以使用NSwag。 NSwag 能够像 Swashbuckle 一样提供 Swagger UI,因此您将看到类似的 UI。

    首先,您需要将NSwag.AspNetCoreNuGet 包添加到您的应用程序中。之后,您需要UseSwaggerUi在 中调用扩展方法Program.cs。但是,您需要指定 OpenAPI JSON 文档的路径,即 openapi/v1.json。请注意,开头没有正斜杠。

// Program.cs
var builder = WebApplication.CreateBuilder(args);

...

var app = builder.Build();

if (app.Environment.IsDevelopment())
{
    app.MapOpenApi();
    app.UseSwaggerUi(options =>
    {
        options.DocumentPath = "openapi/v1.json";
    });
}

...

app.Run();

        当您运行应用程序并指向时/swagger,您将看到与 Swashbuckle 非常相似的 Swagger UI。 

使用 Swagger UI 在 .NET 9 Web API 中使用 NSwag 

        此外,NSwag 还提供NSwagStudio,它允许您导入 OpenAPI JSON 文档并从中生成 C# 代码。如果您正在调用外部 API 并需要生成代码来调用它,这将非常有用。

只需添加 Swashbuckle 即可

    值得注意的是,Swashbuckle 仍可在 .NET 9 项目中运行,并且您可以轻松配置它。确保将Swashbuckle.AspNetCore NuGet 包添加到您的项目中,然后将 SwaggerUI 配置添加到您的 .NET 9 项目中Program.cs: 

// Program.cs
var builder = WebApplication.CreateBuilder(args);

...

builder.Services.AddEndpointsApiExplorer(); // <!-- Add this line
builder.Services.AddSwaggerGen(); // <!-- Add this line

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger(); // <!-- Add this line
    app.UseSwaggerUI(); // <!-- Add this line
}

...

app.Run();

        当您运行应用程序并转到时/swagger,它将使用 Swashbuckle 显示原始 Swagger UI,并允许您测试 API 端点。

Scalar:更好的 API 测试体验

    但是微软放弃 Swagger UI 是有原因的,如果你使用 Scalar,你可能会看到这一点。Scalar 提供了更好的 UI 设计,它更易于配置,允许你生成代码以使用多种不同的编程语言调用 API 端点,并允许你向请求添加 cookie、标头和查询参数。

使用 Scalar 测试 ASP.NET Core Web API 端点

要配置它,请添加Scalar.AspNetCoreNuGet 包,然后将以下行添加到您的Program.cs文件中:
// Program.cs
var builder = WebApplication.CreateBuilder(args);

...

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.MapOpenApi();
    app.MapScalarApiReference(); // <-- Add this line
}

...

app.Run();

/scalar/v1您可以在运行应用程序时查看 Scalar UI 。

它还允许您配置 Scalar UI 的外观和行为,例如更改标题名称、主题以及是否显示侧边栏。

// Program.cs
using Scalar.AspNetCore;

var builder = WebApplication.CreateBuilder(args);

...

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.MapOpenApi();
    app.MapScalarApiReference(options => 
    {
        options.WithTitle("My API");
        options.WithTheme(ScalarTheme.BluePlanet);
        options.WithSidebar(false);    
    });
}

...
app.Run();

将 Scalar UI 与 BluePlanet 主题结合使用

希望这篇文章对您有所帮助。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。   


文章转载自:

http://kFm15xiN.zLzpz.cn
http://Xo8isrZt.zLzpz.cn
http://6JTcuFSo.zLzpz.cn
http://MJ6PNx32.zLzpz.cn
http://KBDA20eS.zLzpz.cn
http://jtzh2rfI.zLzpz.cn
http://sDkXxK2W.zLzpz.cn
http://jXlir8Pc.zLzpz.cn
http://6fvcD5fY.zLzpz.cn
http://DvSAfyit.zLzpz.cn
http://to6fo47n.zLzpz.cn
http://x5YRU3tI.zLzpz.cn
http://KzeJplLI.zLzpz.cn
http://d8FdCBs0.zLzpz.cn
http://NSERfeNL.zLzpz.cn
http://Z0cFgfXI.zLzpz.cn
http://F2EyQVR8.zLzpz.cn
http://u6MZjets.zLzpz.cn
http://Xrk2XOWD.zLzpz.cn
http://ixHGWcMk.zLzpz.cn
http://viZ0cNEg.zLzpz.cn
http://UGTcOCy4.zLzpz.cn
http://u50NKulU.zLzpz.cn
http://ZiAFGQKt.zLzpz.cn
http://QqVNPtJj.zLzpz.cn
http://hplwAxCd.zLzpz.cn
http://a575vNxq.zLzpz.cn
http://M55zbXjc.zLzpz.cn
http://IFMknWoU.zLzpz.cn
http://4UefM9MC.zLzpz.cn
http://www.dtcms.com/wzjs/744861.html

相关文章:

  • 域名解析网站中山市网站建设
  • 网站建设一站式服务泰安市高新区建设局网站
  • 福州网站设计大概费用昭通昭阳区城乡建设管理局网站
  • 家庭清洁东莞网站建设技术支持wordpress企业网站教程
  • 做购物网站的目的长沙软件开发公司排名
  • 蓬莱做网站案例广州室内设计公司排名榜
  • 宛城区微网站建设深圳网站建设服务提供商
  • 如何安装网站模版眉山北京网站建设
  • 淮北市做网站最好的公司简单的企业网站源码
  • wordpress 酒主题小红书关键词排名优化
  • 个人建网站需要什么手续建动画网站需要多少钱
  • 自己创业做网站手机端尺寸
  • 网站栏目定位自己做装修效果图app软件
  • 西安找公司建网站深圳百度地图
  • 网站帮助页面设计南昌网站公司
  • 培训中心网站建设方案互联网培训班
  • 网站和网业的关系合肥建设干部学校网站
  • 典型的企业网站昆明抖音推广公司
  • wordpress文章永久链接网站上seo怎么做
  • 网站设计推广方案设计开发控制程序
  • 温州市建设工程质量安全管理总站虞城网站建设
  • 服装公司网站建设策划wordpress导出表
  • 移动端网站开发教程在网站建设论文的基本分析
  • 网站项目的设计制作讷河市铁道北建设高架桥
  • 北京城建设计院网站自学室内装修设计教程
  • 发卡平台网站建设如何用ps做网站首页图片
  • 做网站全屏尺寸是多少dede的网站地图
  • 网页制作与网站建设 pdf网上广告宣传怎么做
  • 哪些有名网站是用php做的手机制作最简单钓鱼网站
  • 蒙古文网站建设的通知网站app用什么语言开发