热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么VisualStudio2017无法为SwaggerPetstore生成RESTAPI客户端?

如何解决《为什么VisualStudio2017无法为SwaggerPetstore生成RESTAPI客户端?》经验,为你挑选了1个好方法。

我正在使用Swagger / OpenAPI docs / specs 在C#中生成 REST API客户端代码,但是遇到了一些问题。

最值得注意的是-当尝试使用Swagger.io Petstore示例作为起点时:

在VS 2017中使用VS 2017 Add > REST API client选项,我没有产生任何代码-而是显示错误:

生成客户端代码并将其添加到已启动的项目中
生成具有以下参数的REST API客户端代码:
REST API名称:OpenApiClientClient,基本名称空间:OpenApiClient,元数据文件路径:C:\ Users \ Marc \ AppData \ Local \ Temp \ WebToolsAutoRest \ OpenApiClientClient \ 201807162213351660 \ swagger.json
[Info] AutoRest Core 0.16.0.0
[Info]正在初始化建模器。
[Info]正在初始化建模器。
[Info]正在解析swagger json文件。
[信息]从摇头模型生成客户端模型。
[致命]生成客户端模型时出错:不支持收集格式“多”(在参数“状态”中)。
异常:尝试为REST API添加客户端时,代码生成期间发生错误
生成客户端代码并添加到项目失败
添加失败的REST API客户端

因此,如果Swagger示例应用程序不兼容-其他人将如何?(很遗憾,我尝试了其他一些方法,但均获得了相同的结果)。

怎么了 我是否缺少某些东西,我是否需要在VS 2017中添加一些额外的工具才能使其正常工作?

更新

OK,所以我现在尝试直接使用npm安装Autorest:

npm install -g autorest

这似乎可行-没有显示错误或任何错误。

但是,尝试使用一组命令行参数甚至单独运行Autorest会导致错误:

AutoRest -CodeGenerator CSharp -Modeler Swagger 
         -Input https://petstore.swagger.io/v2/swagger.json 
         -Namespace Services.UserServiceClient -OutputDirectory d:\projects 
         -AddCrendentials true

要不就

AutoRest Enter

结果是:

AutoRest代码生成实用程序[版本:2.0.4280; 节点:v9.9.0]
(C)2018 Microsoft Corporation。
https://aka.ms/autorest
失败:
错误:无法从C:\ Users \ Marc.autorest \ @ microsoft.azure_autorest-core @ 2.0.4280 \ node_modules \ @ microsoft.azure \ autorest-core
错误启动AutoRest Core 错误:无法从C:\ Users \ Marc.autorest \ @ microsoft.azure_autorest-core @ 2.0.4280 \ node_modules \ @ microsoft.azure \ autorest-core
在主目录(C:\ Users \ Marc \ AppData \ Roaming中启动AutoRest Core \ npm \ node_modules \ autorest \ dist \ app.js:232:19)

还有其他想法吗?



1> Helen..:

Visual Studio 2017使用的是AutoRest的非常旧的版本。您所看到的问题是AutoRest v。1.0中已解决的这一问题。如该问题评论中所述:

您是指Visual Studio内置的autorest版本吗?-这太老了,而且我们没有更新(我们改变了autorest的整个工作方式)。

您将需要从命令行安装node并使用autorest。

似乎无法 更新 Visual Studio 2017使用的AutoRest,因此您需要直接调用AutoRest。


推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • uniapp开发H5解决跨域问题的两种代理方法
    本文介绍了uniapp开发H5解决跨域问题的两种代理方法,分别是在manifest.json文件和vue.config.js文件中设置代理。通过设置代理根域名和配置路径别名,可以实现H5页面的跨域访问。同时还介绍了如何开启内网穿透,让外网的人可以访问到本地调试的H5页面。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 这篇文章给大家介绍怎么从源码启动和编译IoTSharp ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。IoTSharp项目是 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
author-avatar
冰妞qb_424
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有