问题标签 [nswag]

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 投票
0 回答
546 浏览

typescript - 如何使用“nswag”覆盖自动生成的方法?

在将对象用作 DTO 类中的属性时,我最近在nswag库中报告了一个错误。

在他们修复它之前,是否有任何解决方法或方法来覆盖代理服务中生成的代码?

0 投票
1 回答
1091 浏览

json - NSwag Angular 5 如何获得 json 响应?

我正在访问一个 api,并使用 NSwagStudio 生成了一个类型脚本版本的 api 调用以用作服务。我从服务器得到响应,似乎工作正常,但我不知道如何使用响应访问 json 文件。我尝试订阅我正在调用的方法,但我总是得到 null 作为响应。任何帮助或指导将不胜感激。

这是 NSwagStudio 生成的代码示例和我的订阅响应的实现。

这就是我要订阅的地方:

}

0 投票
1 回答
3191 浏览

asp.net-core - 如何在 NSwag (ASP.NET Core) 中生成自定义响应示例值?

我正在尝试使用 NSwag 生成自定义响应示例值。使用 Swashbuckle 时,它​​有一些属性,但我不确定如何在 NSwag 中执行此操作。

我找到了这个线程,但我对 Swagger 不够熟悉,无法翻译代码。

有没有人有任何完整的例子来说明如何实现这个功能?

0 投票
1 回答
1081 浏览

nswag - 是否可以在 Swagger UI 中使用 NSwag 按程序集而不是控制器对 API 操作进行分组?

我想将源自程序集的所有 API 调用分组以一起显示在 Swagger UI 上,但默认情况下会看到分组发生在控制器上。有什么方法可以强制分组处于装配级别?我正在使用 NSwag 生成 Swagger UI。

0 投票
3 回答
5840 浏览

c# - NSwag:从 API 的多个版本生成 C# 客户端

我们正在对我们的 API 进行版本控制,并在 ASP.NET Core 1.1 中使用 Swashbuckle 生成 Swagger 规范。我们可以根据这些 JSON 规范文件生成两个 API 文档:

[MapToApiVersion]我们将所有操作都包含在两个规范文件中,除非它使用和ApiExplorerSettings(GroupName ="<version>")]属性映射到特定版本。仅属于旧版本的方法也用[Obsolete]属性修饰:

但是,我们只希望从两个规范文件的联合中生成一个 C# 客户端,其中所有方法都包含在客户端中,0.1 和 0.2,但实际上所有过时的方法都标记为过时。

我研究了 NSwag(我们现在使用了很长一段时间)和 AutoRest。AutoRest 似乎支持合并方案,但由于模式验证错误,我无法让它工作(而且我非常不确定我们的特定方案是否会得到实际支持)。

到目前为止,我对这个排序的最后一个想法是以某种方式将规范合并为一个,然后将其提供给 NSwag。

我们在这里想念什么吗?这是否可以通过 NSwag 实现?

0 投票
1 回答
186 浏览

asp.net-core-webapi - NSwag - 为控制器操作中的预期数据提供附加信息

我有一个控制器操作,它接受对象数组(称为复杂对象ControlLinePointDto)形式的数据。由于我在此处的问答中描述的原因,我将其读为 aJArray而不是 a ControlLinePointDto[]。我在多个地方使用不同的对象执行此操作。

如何更改文档 ( NSwag) 以将其记录为(包括示例)为ControlLinePointDto[],而不是[]

0 投票
1 回答
208 浏览

c# - 动作结果在原版 ASP.NET(非 ASP.NET Core)中

我正在尝试将 Swagger 集成到一个有点大的香草 ASP.NET MVC 应用程序中。读完这篇文章后,我打算使用 Swashbuckle 或 NSwag 。问题是我的控制器是从通用基类继承而来的,如下所示:

然后我在基类中有一个 GET 方法:

我正计划向[SwaggerResponse(HttpStatusCode.OK, typeof(T))]一个方法添加属性,这就是我很难 CSharp 的地方。显然不能简单地在属性中使用泛型类型参数。它们必须在编译时已知。

可以从这里看到 ASP.NET Core 有一个整洁的ActionResult<TValue>类。但是我在普通的 ASP.NET 中找不到替代品。我想知道在这种情况下我能做些什么,而不会在具体的 Controller 类实现中引入不必要的耦合和方法覆盖,或者将项目移动到全新的 ASP.NET Core。

0 投票
0 回答
773 浏览

c# - Swagger 代码生成器在所有生成的类属性上添加 JsonProperty

我有一个关于招摇代码生成器(NSwagStudio)的问题。

它生成 CSharpClient ,其中所有类都有 JsonProperty 设置 NullValueHandling = Ignore

如何在 swagger 代码生成器 (NSwagStudio) 的代码生成过程中避免这种行为。

0 投票
0 回答
1518 浏览

c# - NSwag 将原始字段生成为 Nullable

我在 C# 中有一个 RESTful WebAPI 2 服务,并且我使用 swagger 作为 API 描述符。现在,在客户端,我正在使用 NSwag,可以在此处找到它来生成客户端代码:https ://github.com/RSuter/NSwag

现在,我已经使用 nSwag 一年多了,我第一次看到这种行为,不确定是我的代码中的某些东西导致它还是 NSwag 本身在起作用,但是当我使用 nSwag 生成客户端时,它生int fields which are marked [Required]成为 Nullable客户端的属性。在服务端可能如下所示:

但是,当我在客户端生成它时,它看起来像下面这样:

我不知道我的服务端代码的哪一部分告诉 NSwag 将其转换为 NULLable 属性,而它显然是服务端必需的 Non-Nullable 属性。我错过了什么吗?

0 投票
0 回答
492 浏览

c# - ASP.NET Core 2 - Angular 和 JWT 身份验证

问题:在将令牌记录到浏览器本地存储后,我似乎无法在任何控制器中获取User或任何与用户相关的数据(例如)。UserID

我已经设置了一个断点并研究HttpContext了实例的成员ControllerBase(客户端应用程序发出请求+auth_token在此阶段保存在本地存储中)。

您只能从中提取引荐来源网址,Headers但没有关于tokens.

即使您为令牌创建了一个 cookie -Request也没有它(根本找不到 0 个 cookie)。

也许我误解了授权如何工作的概念。

这是我最误解的一点 - 如何从客户端应用程序发出的请求中ASP.NET Core获取token- 它必须保存在标头中?

此外,任何人都可以分享 JWT 身份验证的工作示例,其中Angular&ASP.NET Core是单独的解决方案吗?


我已经实现了登录功能,并将访问令牌存储在浏览器本地存储中。

令牌的名称必须符合任何约定吗?(我想知道auth_token在这种情况下是否合适。)

SessionController- 获取当前用户信息的方法:

在我创建包含 UserID 的声明的Authenticate方法中:AuthContoller

_userService.Authenticate方法获取用户并检查密码是否正确,如下所示:

JWT 配置在Startup.cs

CORS配置如下:


附加信息:

  • Angular 应用程序是一个单独的解决方案/项目 - 而不是VS2017.

  • 我在用着ASP.NET Core v2.1

  • 我正在使用 NSwag.AspNetCore 包为 Angular 项目自动生成服务。

  • 这是我用来编写我的应用程序的教程。