- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在考虑使用一种文档工具来构建 Web 服务的后端,以便与 OAuth 一起在多个客户端中使用,并且可以进行多次修订。我已经了解养蜂场,但做了一些研究,我发现其他相当不错的solutions有着丰厚的 promise 。
RAML 似乎有望实现良好的代码生成和 API 可重用性。但它似乎无法创建模拟服务器。我不明白为什么 apiblueprint 不能用于生成 REST API 的客户端库和服务器端框架。
对我们来说,最好的用例是基于 API 文档,可以自动生成用于使用服务的客户端 iOS/Android/wp/js 库以及提供编写代码框架的 Node Express/restify 应用程序。以及 API 测试和负载测试。
RAML/Swagger/Apiary 中的哪种解决方案最适合这个问题?
最佳答案
请查看Swagger Codegen (免费、开源),它可以生成不同语言的服务器 stub 和 API 客户端。
许多公司/项目正在生产中使用它:https://github.com/swagger-api/swagger-codegen#companiesprojects-using-swagger-codegen
支持的语言/框架:
API 客户端:ActionScript、Bash、C#(.net 2.0、4.0 或更高版本)、C++(cpprest、Qt5、Tizen)、Clojure、Dart、Elixir、Go、Groovy、Haskell、Java (Jersey1.x、Jersey2.x、OkHttp、Retrofit1.x、Retrofit2.x、Feign)、Node.js(ES5、ES6、带有 Google Closure 编译器注释的 AngularJS)Objective-C、Perl、PHP、Python、Ruby、Scala 、Swift(2.x、3.x)、Typescript(Angular1.x、Angular2.x、Fetch、jQuery、Node)
服务器 stub :C#(ASP.NET Core、NancyFx)、Erlang、Go、Haskell、Java(MSF4J、Spring、Undertow、JAX-RS:CDI、CXF、Inflector、RestEasy)、 PHP(Lumen、Slim、Silex、Zend Expressive)、Python(Flask)、NodeJS、Ruby(Sinatra、Rails5)、Scala(Finch、Scalatra)
API 文档生成器:HTML、Confluence Wiki
免责声明:我是开源项目的主要贡献者之一。
更新:2018 年 5 月,Swagger Codegen 的约 50 位顶级贡献者和模板创建者决定 fork Swagger Codegen 以维护一个名为 OpenAPI Generator 的社区驱动版本。 。请引用Q&A了解更多信息。
关于rest - 良好的剩余代码生成和文档工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22534792/
嗨,我正在考虑开发一种文件传输程序,想知道我是否想要尽可能好的加密,我应该使用什么? 我会用 C# 开发它,所以我可以访问 .net 库 :P在我的 usb 上有一个证书来访问服务器是没有问题的,如果
我创建的这个计算两个数组的交集是线性的方法的复杂度(在良好、平均、最差的情况下)? O(n) public void getInt(int[] a,int[] b){ int i=0; int
我已经能够使用 RTCPeerConnection.getStats() API 获得 WebRTC 音频调用的各种统计信息(抖动、RTT、丢包等)。 我需要将整体通话质量评为优秀、良好、一般或差。
基本问题: 如果我正在讲述/修改数据,我应该通过索引硬编码索引访问文件的元素,即 targetFile.getElement(5);通过硬编码标识符(内部翻译成索引),即 target.getElem
在 Linux 上,我想知道要调用什么“C”API 来获取每个 CPU 的统计信息。 我知道并且可以从我的应用程序中读取 /proc/loadavg,但这是系统范围的负载平均值,而不是每个 CPU 的
在客户端浏览器中使用 fetch api,GET 或 POST 没有问题,但 fetch 和 DELETE 有问题。它似乎将 DELETE 请求方法更改为 OPTIONS。 大多数研究表明是一个cor
我是一名优秀的程序员,十分优秀!