问题标签 [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.
c# - AutoRest Generated API Client Azure API Service 没有抛出错误
我们使用 Swashbuckle 从我们的 api 服务生成 swagger,然后使用 Visual Studio 中的 ADD Azure API Client 函数生成一个 API 客户端。除了服务器遇到问题并引发错误的情况外,此客户端工作正常。此服务器错误导致客户端继续等待并且永远不会返回错误,因此不会触发错误。同步和异步调用都会发生这种情况。
抛出错误的唯一方法是将超时设置为很短的时间,在这种情况下会抛出 Task Canceled 异常。
当我们生成 JavaScript 客户端时,不会出现此问题,客户端将完美运行。
有人对我们能做什么有任何建议吗?
c# - 为什么 AutoRest 会生成名为 UnknownType 的客户端
我试图为其生成 ac# 客户端的招摇文件位于: https ://gist.github.com/s093294/a98d53c961e40b0fa3d8
但由于某种原因,即使它设置了 info.title,生成的客户端也被命名为 Unknowntype
谁能解释一下?
c# - 使用 Gulp 任务生成 AutoRest 代码
我们使用 AutoRest 从 swagger 文件中生成 C# 类。目前我们手动运行以下命令:
AutoRest.exe -Input [-Namespace] [-OutputDirectory] [-CodeGenerator] [-Modeler] [-ClientName] [-OutputFileName]
手动方法的问题是每个开发人员都需要确保传递正确的参数等。
想知道是否有人成功地创建了一个 gulp 任务以在上面自动化,以便可以从 VS Task Runner 运行该任务。
c# - 使用 Swagger 命名 AutoRest 生成的方法名称
我在玩AutoRest和Swagger项目。我的 Web API 控制器有一个名为GetAllAsync
. 当我为服务生成客户端时,客户端有一个 interface IResourcesOperations
,其中Resources
是控制器的名称。
该接口有一个名为 的方法GetAllAsyncWithHttpMessagesAsync
。然后是一个名为的静态类ResourcesOperationsExtensions
,它定义了一个名为的方法GetAllAsync
和一个名为的方法GetAllAsyncAsync
。第一个实际上从线程池 ( Task.Factory.StartNew
) 中运行第二个新线程。有谁知道这是什么原因?
我发现我可以用属性装饰我的控制器操作方法
这将在调用的客户端类上生成一个方法,GetResourcesWithHttpMessagesAsync
并从接口和扩展方法类中删除此 Web API 操作的所有方法。
现在我的问题是,为什么默认生成这三种方法?
有没有办法用一个名为的方法GetResources
(即去掉那个 WithHttpMessagesAsync 后缀)甚至生成一个客户端GetAllAsync
?
rest - 服务器 REST API 更改后如何更新生成的 AutoRest 代码?
语境
我正在编写客户端代码来访问 Web API REST 服务。我通过使用 Visual Studio 2015“添加”/“REST API 客户端...”来使用类型化客户端类
现在服务器端 API 发生了变化,我想相应地更新我生成的客户端代码。
问题
除了删除所有生成的类的明显解决方案,然后从零开始 Visual Studio 2015“添加”/“REST API 客户端......”,还有更好的方法吗?
autorest - Autorest客户端生成newtonsoft的多个引用
目前,我正在尝试在每次发布新 api 时构建一个自动生成的客户端。
我已经运行了它,我可以创建项目并从 autorest.exe 生成文件,并且在我的机器上一切正常。
但是,当我尝试在构建服务器上复制相同的过程时,我构建了我的 sln,并且一旦我打包我得到这个错误:
[pack] 'Microsoft.Rest.ClientRuntime' already has a dependency defined for 'Newtonsoft.Json'.
我已将此添加到我的 csproj 文件中以获取生成的文件,这在我的本地计算机上运行良好。
我也尝试像这样在构建服务器上包含引用的项目
几天后我有点卡在这里,我一直无法找到有关如何实际构建自动生成客户端代码的文档,如果有人知道一些请分享:)
任何帮助表示赞赏:)
c# - 将 Iso8601TimeSpanConverter 添加到 JsonConverter 列表会引发 ArrayTypeMismatch 异常
我正在使用 AutoRest 从 Swagger 定义文件中为 REST API 自动生成 ac# 类。
问题是在执行客户端类初始化方法时,它会在以下代码中抛出 ArrayTypeMismatch 异常:
有问题的代码是添加到 JsonConverters 列表中的 Iso8601TimeSpanConverter。
顺便说一句,这只发生在在 VSIX 包中运行此代码时。在独立应用程序上,它运行良好。
我想知道它是否与多个版本的 Newtonsoft.Json 加载和碰撞有关?
有任何想法吗?
swagger - 大摇大摆地处理来自 REST API 的状态代码
我开发了一个带有 Swagger 注释的 REST API。当 API 无法处理调用时,它会在正文中返回 4xx 状态代码和错误消息。Swagger 抛出一个包含请求和响应但响应不包含其主体的异常。因此客户端无法访问错误消息。
我知道我可以使用注释来防止像 4xx 这样的状态代码生成异常,但我想知道是否有办法仍然抛出异常并保留正文。
我正在使用 AutoRest 生成客户端代码。
c# - 来自 Swagger 文档的 AutoRest - IEnumerable生成为 IEnumerable
我有一个使用 ASP.NET MVC 5、Swashbuckle 和 AutoRest 的项目。当我使用 Autorest 为我的 API 生成客户端时,我的参数正在从一个转换IEnumerable<long>
为IEnumerable<long?>
控制器方法
生成的 AutoRest 签名
我试过的
- 使用获取方法。导致“多”类型,这是 AutoRest 中的已知错误 AutoRest中的已知错误。
- 消除 [FromBody] 属性
- 将 IEnumerable 包装在自定义模型中
这是一个奇怪的错误,但我已经使用 Swagger 和 Autorest 有一段时间了,所以我只能假设它要么是一个不起眼的错误/配置(可能),要么我错过了一些愚蠢的东西(可能)。提前感谢您的帮助。
更新
这是 Swashbuckle 生成的 Swagger Spec
c# - 如何让 AutoRest 通过控制器拆分 API
现在我正在使用:
生成我的ASP.NET Core
Rest Client
.
令人烦恼的是,它为所有这些AutoRest
创建了一个单一的。我用过将每个拆分成自己的,有没有办法强制这种行为?file/class
controllers
API
pre-ASP.NET Core
auto-generators
controller
file/class
AutoRest