问题标签 [swashbuckle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1982 浏览

asp.net - Web API中的DataAnnotations验证,如何在Swagger中显示?

我正在使用 ASP.NET 4.6 和 Web API 2 开发 API。到目前为止,我一直在使用 DTO 和 DataAnnotations,如下所示:

我会像这样使用我的 DTO:

现在我被要求发布 API 文档的第一个版本。在做了一些研究之后,我发现了 Swagger,所以我从 NuGet 获得了 Swashbuckle 并开始使用它。顺便说一句,令人惊叹。

但我确实需要我的 API 的用户知道某些参数的最大长度,哪些是必需的,等等。如何让 Swagger 显示此信息?

0 投票
3 回答
16457 浏览

c# - Grouping of API methods in documentation - is there some custom attribute

I have controller like

Which on swagger generates output like enter image description here

Is there a way (besides overriding default implementation by rolling out your own ISwaggerProvider or merging two controllers into one) to enforce the group name ? Something like

0 投票
1 回答
1199 浏览

asp.net-web-api2 - 带有 swashbuckle 的 Web Api 文档

我们目前正在尝试为我们的产品编写 WebApi 服务,从传统的基于 WCF SOAP 的服务切换。我们面临的挑战是如何提供 api 文档。我遇到了 SwaggerUi/swash 扣。我们的一个限制是我们不想在 IIS 中托管 WebApi 服务,而是在 Windows 服务中托管。我是 Web Api 的新手,所以我可能会以错误的方式做事。

因此,为了进行测试,我将 Web api 托管在控制台应用程序中。我可以使用 HttpClient 调用 Web Api 上的 Get 方法,但如果我在 Web 浏览器中键入 url,我将无法访问相同的方法(这对于自托管 Web api 是否正常?)。

所以我安装了 Swashbuckle.core nuget 包,并在 Startup 类(Owin 自托管)中包含以下代码。

当我浏览到以下位置 http://localhost:5000/swagger/ui/index 我在 IE 中得到“页面无法显示”。与铬类似。在控制台/Windows 服务应用程序中托管 WebApi 以自动获取文档时,是否需要做任何特别的事情?

(我已经为项目启用了 Xml 文档)

我现在附上了一个测试项目。请点击以下链接:

测试项目

问候,

纳斯

0 投票
1 回答
1037 浏览

jquery - 如何捕获任何 ajax 调用的 beforeSend 事件?

是否可以为页面上的所有 ajax 调用捕获 $.ajax beforeSend 事件,而不管它是在哪里启动的?

具体来说,我使用的是 Swagger UI / Swashbuckle,无法直接修改页面上的 JS 代码,但可以使用 SwaggerConfig.cs 中的 .EnableSwaggerUI 调用中的 InjectJavaScript 调用来注入一些脚本。swagger 数据不在我的控制范围内,并且没有正确形成以显示 oauth 设置,因此我需要允许用户输入 API 密钥并将其放在标题中。

我尝试了多次迭代,包括:

都是零成功。也许我只是盯着代码太久了,这很明显,但我就是无法调用要调用的函数。

0 投票
0 回答
1699 浏览

certificate - 当调用 Swagger UI / Swashbuckle 时,如何请求客户端证书?

我有一个使用 Swagger UI / Swashbuckle 创建的内部站点。API 需要客户端证书,但是当我单击“立即尝试!”时 按钮它不会弹出浏览器 UI 来请求客户端证书。如何将客户端证书请求添加到 UI,以便与 API 请求一起提交?

0 投票
0 回答
267 浏览

asp.net-web-api2 - 无法打开 Swagger 页面,

在我添加 swashbuckle 5.2.2 包之后。我无法打开/Swagger页面?

我添加了以下代码:

并取消注释中的代码SwaggerConfig.cs,但我无法打开页面。

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
5430 浏览

c# - 访问 Swashbuckle swagger RootUrl/swagger/docs 不提供任何输出

我有一个 web api 2 项目。它被配置为使用 owin 自托管。它没有任何 global.asax 文件。我需要有 web api 的帮助页面,并为此使用了 swaschbuckle。但是 rooturl/swagger/docs 没有给出任何输出。

我已按照此处的说明“ https://github.com/domaindrivendev/Swashbuckle/issues/196 ”,但它仍然无法正常工作。下面是我的配置代码

如果代码中有错误,请指出。

0 投票
1 回答
374 浏览

c# - AutoRest Generated API Client Azure API Service 没有抛出错误

我们使用 Swashbuckle 从我们的 api 服务生成 swagger,然后使用 Visual Studio 中的 ADD Azure API Client 函数生成一个 API 客户端。除了服务器遇到问题并引发错误的情况外,此客户端工作正常。此服务器错误导致客户端继续等待并且永远不会返回错误,因此不会触发错误。同步和异步调用都会发生这种情况。

抛出错误的唯一方法是将超时设置为很短的时间,在这种情况下会抛出 Task Canceled 异常。

当我们生成 JavaScript 客户端时,不会出现此问题,客户端将完美运行。

有人对我们能做什么有任何建议吗?

0 投票
2 回答
1182 浏览

asp.net - ASP.NET Web Api 中的 Swashbuckle 被嵌套控制器混淆

在我的 ASP.NET Web Api (ASP.NET 4 MVC 5) 应用程序中,我配置了两条路由,如下所示:

UsersController这些实际上工作得很好,因为我有一个与第一条路线匹配的“顶级”和一个与第二条路线匹配的“子” LockController(在Users文件夹中)。

现在我已经将Swashbuckle 5( .net 的Swagger)添加到我的应用程序中,Swagger 很困惑地无法为我实现的每个方法显示两条路线。例如:

在此处输入图像描述

因此,Swagger 将其识别LockController为顶级控制器和子控制器。

如何告诉 Swagger 特定控制器是顶级控制器还是子控制器?

此外,我是否可以让 swagger 认识到锁定资源的路径,例如,/api/users/{id}/lock而不是 /api/{parentController}/{parentId}/lockSwagger 当前显示的路径?

0 投票
0 回答
1762 浏览

asp.net-web-api2 - 使用 JSON 的 Swagger/Swashbuckle 文档 POST

我对 Swashbuckle 或 Swagger 有一个挑战。我不确定问题出在 Swagger 还是 Swashbuckle 上。我有 web api 调用,使用参数作为 URI 参数实现,并从请求正文中读取内容。

一个是这样实现的:

另一个是这样实现的:

两者都使用相同的请求对象等。ApplicationRequest该类包括一个枚举,Purpose. 在第一个服务中,Swagger 文档创建得很漂亮,Application类型中的每个属性都有很好的文档,如下所示:

来自基于 URI 的服务的 Swagger UI

但是,使用标准 HTTP 正文 POST 的第二种方法会生成一个不错的 JSON 示例,但不是枚举中允许的值。这是 Swashbuckle 和 Swagger 的缺陷,还是我不知道如何使用这些工具?

这是从第二种方法生成的:

基于 POST Body 的服务的 Swagger UI

如您所见,“目的”仅包含第一个可能的枚举值。并且上下文描述(在ApplicationRequestas Display 属性上提供)不会显示在任何地方。