问题标签 [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.

0 投票
1 回答
441 浏览

polymorphism - Autorest 不能覆盖子类中的父属性

我正在使用Autorest从 swagger 2.0 定义生成 csharp sdk,我想知道是否可以让生成的子类覆盖具有不同类型的父属性。

大摇大摆的例子:

它生成以下 C# 基类:

以及以下子类:

但我想要的输出是必须用类型属性MyResourceResponseExtended覆盖该Meta属性以公开其附加属性。MetaMetaResponseExtended

例如,我想要的输出是:

在 Swagger 2.0 中是否有更好的方法来定义它?这是 Autorest 的错误/限制吗?

谢谢!:-)

PS:我已经研究discriminator过在 swagger 文件中使用,但我要么没有正确使用它,要么它不是为这个特定目的而设计的。

0 投票
1 回答
476 浏览

oracle - Ords auto REST - 设置自动休息查询返回的默认行数

我们将 ORDS 用于内部应用程序,并发现自动 REST 对于快速、简单的应用程序非常方便。当我们在表或视图上启用休息服务时,默认情况下我们只会得到 25 行。但是,尝试在 defaults.xml 中设置“misc.pagination.maxRows”(例如 1500)不会影响其余启用的模式对象。

有没有办法重置自动 REST 的分页限制?目前我们不得不使用限制参数强制它,例如: ?limit=5000

当前使用版本:18.2.0.r1831332

0 投票
1 回答
557 浏览

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!

0 投票
0 回答
169 浏览

reactjs - 如何使用 autorest 生成的客户端进行反应?

我们使用 .Net 核心创建了一个 API,并为所有端点创建了一个 swagger.json 文件。现在我需要将端点与我的前端集成(我使用 reactjs 作为前端)。

我已经通过 autorest (npmjs.com/package/autorest) 生成了客户端。现在我想与生成的客户端一起做出反应。我怎样才能做到这一点?

0 投票
2 回答
1762 浏览

c# - Web API REST Client - 在网站中(自动)验证 API 的最佳方式是什么

我有一个使用 .Net Core Web API Rest 服务的 .Net Core MVC 网站。Rest 客户端代码由 AutoRest 生成。

出于身份验证目的,API 有两个端点:

  1. \token:它将接受两个参数用户名和密码,并返回两个东西:access_token(JWT Token)和随机生成 refresh_token的 .

  2. \token\refresh它将接受两个参数:access_tokenand refresh_token并返回 newaccess_token和 new refresh_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 客户端。这使得在哪里注入这个逻辑变得更加困难。

0 投票
0 回答
53 浏览

typescript - 如何使用 autorest 从 swagger.json 文件创建 Typescript 客户端?

我正在尝试使用 autorest 从 swagger.json 文件创建打字稿客户端,但失败了!有人可以分享指南吗?如果有人已经生成客户端,请与我分享!谢谢

0 投票
1 回答
85 浏览

c# - AutoRest 定位 web api 版本

我还没有对我的 api 实施版本控制,因为我想先获取更多信息。我正在使用 asp.net web api,并使用 AutoRest 集成到 WPF 应用程序中。它现在已经运行了几个月,但我希望将版本控制与 api 一起使用。

通过从 WPF 到 api 的典型调用,有没有办法针对特定版本的 api?

提前致谢。

0 投票
1 回答
2540 浏览

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 文件?

0 投票
1 回答
405 浏览

.net-core - Swashbuckle.AspNetCore 停止使用 allOf

我在我的 swagger.json 文件上使用 autorest。我遇到了 autorest 不喜欢我的 swagger.json 文件的问题。

问题是 swagger.json 文件包含

它作为

无论如何我可以得到花哨的东西来生成后面的代码吗?

0 投票
1 回答
167 浏览

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

谢谢!