问题标签 [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.
typescript - 如何使用“nswag”覆盖自动生成的方法?
在将对象用作 DTO 类中的属性时,我最近在nswag库中报告了一个错误。
在他们修复它之前,是否有任何解决方法或方法来覆盖代理服务中生成的代码?
json - NSwag Angular 5 如何获得 json 响应?
我正在访问一个 api,并使用 NSwagStudio 生成了一个类型脚本版本的 api 调用以用作服务。我从服务器得到响应,似乎工作正常,但我不知道如何使用响应访问 json 文件。我尝试订阅我正在调用的方法,但我总是得到 null 作为响应。任何帮助或指导将不胜感激。
这是 NSwagStudio 生成的代码示例和我的订阅响应的实现。
这就是我要订阅的地方:
}
nswag - 是否可以在 Swagger UI 中使用 NSwag 按程序集而不是控制器对 API 操作进行分组?
我想将源自程序集的所有 API 调用分组以一起显示在 Swagger UI 上,但默认情况下会看到分组发生在控制器上。有什么方法可以强制分组处于装配级别?我正在使用 NSwag 生成 Swagger UI。
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 实现?
asp.net-core-webapi - NSwag - 为控制器操作中的预期数据提供附加信息
我有一个控制器操作,它接受对象数组(称为复杂对象ControlLinePointDto
)形式的数据。由于我在此处的问答中描述的原因,我将其读为 aJArray
而不是 a ControlLinePointDto[]
。我在多个地方使用不同的对象执行此操作。
如何更改文档 ( NSwag
) 以将其记录为(包括示例)为ControlLinePointDto[]
,而不是[]
?
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。
c# - Swagger 代码生成器在所有生成的类属性上添加 JsonProperty
我有一个关于招摇代码生成器(NSwagStudio)的问题。
它生成 CSharpClient ,其中所有类都有 JsonProperty 设置 NullValueHandling = Ignore
如何在 swagger 代码生成器 (NSwagStudio) 的代码生成过程中避免这种行为。
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 属性。我错过了什么吗?
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 项目自动生成服务。
这是我用来编写我的应用程序的教程。