【问题标题】:Generate javascript client from Servicestack api metadata/swagger从 Servicestack api metadata/swagger 生成 javascript 客户端
【发布时间】:2016-11-11 20:54:04
【问题描述】:

有没有办法根据元数据/Swagger 自动生成 ServiceStack javascript(无打字稿)客户端?以某种方式将它与 webpack 集成会很好。

我不确定是否可以使用 swagger-js-codegen 执行此操作(此包从 swagger 规范文件生成 nodejs 或 angularjs 类)。

实际上 swagger 插件不共享服务来访问 swagger.json 以获得完整的架构(架构被拆分)。是否有任何解决方法可以将 swagger codegen 用于 javascript?

通过访问http://localhost:12116/resources可以获得

{"swaggerVersion":"1.2","apis":[{"path":"/resource/assignroles"},{"path":"/resource/auth"},{"path":"/resource/authenticate"},{"path":"/resource/criteria"},{"path":"/resource/import"},{"path":"/resource/tenders"},{"path":"/resource/unassignroles"}],"apiVersion":"1.0","basePath":"http://localhost:12116","info":{"title":"App"}}

并使用http://localhost:12116/resource/import

{"swaggerVersion":"1.2","apiVersion":"1.0","basePath":"http://localhost:12116","resourcePath":"/import","apis":[{"path":"/import/stats","operations":[{"method":"GET","nickname":"BrowseImportStats","parameters":[],"errorResponses":[]}]},{"path":"/import/tenders/changes/apply","operations":[{"method":"GET","nickname":"ApplyChanges","parameters":[],"errorResponses":[]},{"method":"POST","nickname":"ApplyChanges","parameters":[{"paramType":"body","name":"body","required":false,"allowMultiple":false,"type":"ApplyChanges"}],"errorResponses":[]},{"method":"PUT","nickname":"ApplyChanges","parameters":[{"paramType":"body","name":"body","required":false,"allowMultiple":false,"type":"ApplyChanges"}],"errorResponses":[]},{"method":"DELETE","nickname":"ApplyChanges","parameters":[],"errorResponses":[]}]},{"path":"/import/tenders/sync","description":"summary","operations":[{"method":"GET","summary":"summary","nickname":"ImportTenders","parameters":[],"errorResponses":[]}]}],"models":{"ImportTenders":{"id":"ImportTenders","properties":{}},"ApplyChanges":{"id":"ApplyChanges","properties":{}},"BrowseImportStats":{"id":"BrowseImportStats","description":"BrowseImportStats","properties":{}}}}

2016 年 11 月 26 日更新 我能够生成文档

C:\git\testapp>java -jar swagger-codegen-cli-2.2.1.jar generate -i http
://localhost:12116/resources -l javascript -o ./node_modules/testapp_api --additi
onal-properties emitJSDoc=false,usePromises=true

【问题讨论】:

    标签: servicestack swagger-codegen


    【解决方案1】:

    鉴于您拥有 OpenAPI/Swagger 规范,您不仅可以利用 Swagger Codegen 生成 JS API 客户端,还可以生成其他语言(C#、Ruby、PHP、Python 等)、服务器存根(Spring、NodeJS)的 API 客户端等)和 API 文档。

    这是一个很好的起点:https://github.com/swagger-api/swagger-codegen#getting-started

    (如果不想安装任何东西,也可以在线生成代码:https://github.com/swagger-api/swagger-codegen#online-generators

    【讨论】:

    • 你能检查我关于使用的 Servicestack 插件的更新吗?它会生成拆分模式,我不确定 Swagger Codegen 是否支持。
    • 是的,最新的 Swagger Codegen 大师对拆分模式有更好的支持(仅供参考。Swagger Codegen 利用 Swagger Parser 来解析 swagger 文件)
    • 谢谢信息。我现在在 webpack 中使用该 API 时遇到问题。在 ./~/testapp_api/src/index.js 中导入模块 ERROR 时出现错误 Module not found: Error: Can't resolve 'ApiClient' in 'C:\git\testapp\n ode_modules\testapp_api\src' @ 。 //testapp_api/src/index.js 28:4-705
    • 请通过github.com/swagger-api/swagger-codegen/issues/new 提出问题,我们的团队将帮助解决。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 1970-01-01
    • 2023-01-10
    • 2019-08-24
    • 2016-06-29
    • 2017-10-24
    相关资源
    最近更新 更多