问题标签 [autorest]
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.
polymorphism - Autorest 不能覆盖子类中的父属性
我正在使用Autorest
从 swagger 2.0 定义生成 csharp sdk,我想知道是否可以让生成的子类覆盖具有不同类型的父属性。
大摇大摆的例子:
它生成以下 C# 基类:
以及以下子类:
但我想要的输出是必须用类型属性MyResourceResponseExtended
覆盖该Meta
属性以公开其附加属性。Meta
MetaResponseExtended
例如,我想要的输出是:
在 Swagger 2.0 中是否有更好的方法来定义它?这是 Autorest 的错误/限制吗?
谢谢!:-)
PS:我已经研究discriminator
过在 swagger 文件中使用,但我要么没有正确使用它,要么它不是为这个特定目的而设计的。
oracle - Ords auto REST - 设置自动休息查询返回的默认行数
我们将 ORDS 用于内部应用程序,并发现自动 REST 对于快速、简单的应用程序非常方便。当我们在表或视图上启用休息服务时,默认情况下我们只会得到 25 行。但是,尝试在 defaults.xml 中设置“misc.pagination.maxRows”(例如 1500)不会影响其余启用的模式对象。
有没有办法重置自动 REST 的分页限制?目前我们不得不使用限制参数强制它,例如: ?limit=5000
当前使用版本:18.2.0.r1831332
typescript - 如何在使用 autorest 生成的打字稿客户端时包含 cookie?
我正在使用AutoRest为基于 OpenAPI 规范文件的 RESTful API 生成 Typescript 客户端,如下所示:
当我通过 CORS 使用生成的 API 客户端进行调用时,它不包含任何 Cookie。
JavaScriptfetch
提供了这个结构来包含 cookie:
但是我想不出一种方法来使用 AutoRest 生成的 API 客户端来实现它。我确实查看msRest.ts
了是否可以使用任何可用的凭据类型。
[更新]:
在进一步挖掘之后,我发现客户端的 options 参数有一个withCredentials
可以设置为 true 的属性。最终,node_modules\@azure\ms-rest-js\es\lib\xhrHttpClient.js
进行 API 调用。具体来说,这一行进行了调用:
我进行了彻底的调试并确保将withCredentials
其设置为true
但由于某种原因它不会发送 cookie!如果我使用 javascript 拨打电话,fetch
它会发送 cookie,而 autorest 生成的客户端不会发送 cookie!
reactjs - 如何使用 autorest 生成的客户端进行反应?
我们使用 .Net 核心创建了一个 API,并为所有端点创建了一个 swagger.json 文件。现在我需要将端点与我的前端集成(我使用 reactjs 作为前端)。
我已经通过 autorest (npmjs.com/package/autorest) 生成了客户端。现在我想与生成的客户端一起做出反应。我怎样才能做到这一点?
c# - Web API REST Client - 在网站中(自动)验证 API 的最佳方式是什么
我有一个使用 .Net Core Web API Rest 服务的 .Net Core MVC 网站。Rest 客户端代码由 AutoRest 生成。
出于身份验证目的,API 有两个端点:
\token:
它将接受两个参数用户名和密码,并返回两个东西:access_token
(JWT Token)和随机生成refresh_token
的 .\token\refresh
它将接受两个参数:access_token
andrefresh_token
并返回 newaccess_token
和 newrefresh_token
。
access_token
寿命是 24 小时,
refresh_token
寿命是 5 天
让我们转到网站部分。UserController
有5种标准动作方法,Index, Details, Create, Edit and Delete
. 在第一次请求索引路由时,检索所有用户的列表。我通过向 AutoRest 生成的 API 客户端提供用户名和密码来获取令牌。
然后我可以调用我的实际请求来获取用户列表
到这里,一个请求就完成了。
让我们转到第二个请求(详细信息路由),我正在获取特定 ID 的用户详细信息,在这里我可以从会话中检索令牌,其余部分相同,创建凭据对象并调用目标操作方法。
同样,我可以Create, Edit and Delete
通过从会话中获取令牌并传递给 API 客户端来编写操作方法。
现在,如果我的令牌过期了,网站怎么会知道它必须通过向\token\refresh
端点发送请求来刷新令牌。此外,当刷新令牌过期时,通过将用户名和密码重新发送到\token
端点来生成新令牌。
那么使用此身份验证方案调用 API 的最佳方法是什么。我是否应该在控制器的每个操作方法中编写此逻辑(生成令牌、检查令牌到期、刷新令牌、再次检查刷新令牌到期)?显然一个合理的网站不会只有一个控制器,一个网站有10-15个控制器,每个控制器都有这5个动作方法,在每个动作方法中写同样的逻辑会很麻烦。
正如我所提到的,我已经使用 AutoRest 工具生成了 API 客户端代码。我想使用这些自动生成的模型类和 api 客户端。这使得在哪里注入这个逻辑变得更加困难。
typescript - 如何使用 autorest 从 swagger.json 文件创建 Typescript 客户端?
我正在尝试使用 autorest 从 swagger.json 文件创建打字稿客户端,但失败了!有人可以分享指南吗?如果有人已经生成客户端,请与我分享!谢谢
c# - AutoRest 定位 web api 版本
我还没有对我的 api 实施版本控制,因为我想先获取更多信息。我正在使用 asp.net web api,并使用 AutoRest 集成到 WPF 应用程序中。它现在已经运行了几个月,但我希望将版本控制与 api 一起使用。
通过从 WPF 到 api 的典型调用,有没有办法针对特定版本的 api?
提前致谢。
swagger - Autorest 错误 - swagger.json' 不是有效的 OpenAPI 2.0 定义(预期为 'swagger: 2.0')
我的 api 正在运行带有 Swashbuckle.AspNetCore 5.0.0-rc5 的 net core 3.0
当我在生成的 swagger.json 文件上运行 autorest 时,我得到:
我的 swagger.json 文件确实说“openapi”:“3.0.1”。它曾经是 v2.0 但自从我升级到 net core 3.0 我不得不升级 Swashbuckle 现在使用 v3.0.1 创建 json 文件
我跑了“choco install autorest”,所以我应该运行最新版本
如果 autorest 不支持 openapi3.0,肯定还有办法生成 openapi2.0 json 文件?
.net-core - Swashbuckle.AspNetCore 停止使用 allOf
我在我的 swagger.json 文件上使用 autorest。我遇到了 autorest 不喜欢我的 swagger.json 文件的问题。
问题是 swagger.json 文件包含
它作为
无论如何我可以得到花哨的东西来生成后面的代码吗?
c# - Swashbuckle 5.0.0 生成的 json 不一致
我有一个问题很可能只是不了解 swashbuckle 如何生成 swagger json 文件。
我有几个 API,它们都共享一些基础设施,因此它被打包,因此在它们之间共享。在该基础架构中添加了招摇配置。所以我确信只要包本身是最新的,它们都共享相同的配置。
令我惊讶的是,我发现为这些 API 生成的 json 完全不同。我稍后将它与 autorest 一起使用,其中 2 个工作,一个失败并出现错误:错误:检测到碰撞插入对象:构造函数
我在它们之间看到的明显区别是失败的那个会生成一些额外的参数,例如:
- “类型”
- “方法库”
- “例外”
我很困惑为什么这些是特定 API swagger json 的一部分,即使所有 3 个 API 都非常相似并且如前所述都共享相同的 swagger 配置。我错过了什么吗?
包/框架版本:
- .Net 核心 3.1
- 花花公子 5.0.0
- Swashbuckle 过滤器 5.0.2
- 自动休息 3.0.6233
谢谢!