gpt4 book ai didi

asp.net - Swagger w/ASP.NET v5 Azure Api 应用程序

转载 作者:行者123 更新时间:2023-12-03 21:42:10 25 4
gpt4 key购买 nike

我正在尝试使用 Swagger + Swashbuckle 设置 Api 应用程序 (Azure),如 Scott Hanselman 在//Build session 上所示:http://channel9.msdn.com/Events/Build/2015/2-628 .

我已经安装(使用 NuGet)包 Swagger.Api 和 Swashbuckle.Core。它没有添加我期望的任何 Controller 或设置,以便拥有一个 Swagger 的页面。当我导航到 {baseUrl}\swagger 时,收到 404 错误。

我认为,既然它有一个 UI,除了 Api 应用程序之外,它还需要一个 Web 应用程序,但我重新观看了演示,Scott 明确表示您可以将 Swagger + Swashbuckle 添加到任何 Api 应用程序。但在第二个应用程序中,我认为 Api 发现可能存在问题。有人设置成功了吗?

Project with swagger

最佳答案

时间流逝,现在 Swashbuckle 适用于 vNext(对我来说是 beta8,可能还有其他版本) - 感谢团队和贡献者!

在project.json中添加包:

    "Swashbuckle": "6.0.0-*",

在startup.cs中的ConfigureServices()中:

        services.AddSwaggerGen();
services.ConfigureSwaggerDocument(options =>
{
options.SingleApiVersion(new Info
{
Version = "v1",
Title = "My Super API",
Description = "A Super API using Swagger and Swashbuckle",
TermsOfService = ""
});

});
services.ConfigureSwaggerSchema(options =>{
options.DescribeAllEnumsAsStrings = true;
});

在startup.cs中的Configure()中:

        app.UseSwaggerGen();
app.UseSwaggerUi();

现在您可以访问您的 API doco - http://domain:port/swagger/ui/index.html

访问您的 Swagger 定义 - http://domain:port/swagger/v1/swagger.json

然后假设您至少有一个面向互联网的 dev/uat/staging/prod 环境,获取定义 URL,然后执行 File-> Import URI at http://editor.swagger.io/ - 现在您也为大约 20 个客户生成了代码:)

如果您也愿意的话,您也可以设置自己的代码生成服务器( https://github.com/swagger-api/swagger-codegen ),但是我利用了现有的在线生成器。在线编辑器还具有完整的模型和关系定义,至少在我使用 EF7 完全定义模型的情况下(我知道,恶心......但它比 <= EF6 好得多,而且 ServiceStack 还不支持 CoreCLR) 。根据项目的大小,这可以为您节省几个小时到几周的工作记录时间,而且随着您编写更多代码,它会动态更新自身。您也可以使用它来测试您的端点,但我仍然更喜欢 PostMan。

完整示例项目位于 https://github.com/mrsheepuk/ASPNETSelfCreatedTokenAuthExample/tree/beta8

向 MrSheepUK 致敬

HTH

关于asp.net - Swagger w/ASP.NET v5 Azure Api 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30056230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com