electron 电子开发-基于swagger定义生成API客户端

9cbw7uwe  于 8个月前  发布在  Electron
关注(0)|答案(2)|浏览(126)

我正在尝试使用它来构建一个跨平台的应用程序,它应该能够在机器上本地运行。在服务器端,我已经有一个应用程序,它公开了一个REST API,用swagger文档记录。
现在我尝试为这个swagger定义生成一个客户端存根,然后我可以使用Electron。这是如何完成的?我应该只是生成JS代码并使用它(这将如何工作?)?或者有其他(更好的)方法来做,因为Electron内置了访问REST API的函数,如
我花了相当多的时间寻找解决方案,但没有找到。现在我想知道使用Electron作为访问REST API的框架并使用swagger codegen自动生成代码是否是一种罕见的情况。

gz5pxeao

gz5pxeao1#

最棒的是,Electron应用程序可以非常类似地开发为正常的Web应用程序。这可能是为什么你没有找到使用Electron与你习惯使用的工具的具体说明。
您应该能够继续使用您通常使用的任何工具来生成用于从任何Web应用程序调用REST的存根,并且存根在Electron中引用时应该可以正常工作(只要它们在JavaScript或Typescript中生成)。
你有没有试过使用Swagger codegen,你有没有试过使用最终的客户端代码API,它有没有给予你一个错误?试着把任何具体的错误作为新问题发布在Stack Overflow上以寻求解决方案(或者编辑这个问题以使其更具体)。
Electron几乎就像一张空白的画布--没有“正确”或“错误”的开发方式,尽管肯定有“好的错误”和“坏的错误”。
在Electron中开发应用程序肯定有一些独特的概念,为此,将您的开发经验与一些一般的Electron阅读和学习结合起来会很好。
你很快就会遇到“独特的”Electron概念,如“main”和“renderer”,如果你有学习材料来指导你,那会容易得多。有很多学习Electron的材料,所以我不会在这里列出清单。

6za6bjd0

6za6bjd02#

实际上,我最终按照GrahamMc的建议使用了swagger-codegen。
一般的做法是这样的:

rm -rf api
wget http://localhost/site/json-schema -O api.json
docker run --user `id -u`:`id -g` --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate -i /local/api.json -l javascript -o /local/api
rm api.json
cd api
npm install

字符串
第一步是清理旧的生成代码,第二步是下载docker-container中没有的swagger规范。剩下的就是清理和安装依赖项。
在代码中,它可以这样使用:

var jtm_api = require('.api/')
var userApi = new jtm_api.UserApi()

var cb = function(error, data, response) {
    if (response.status == 200) {
        //do whatever
    } else {
        //do whatever
    }
}
userApi.usersLoginPost(txtUser, txtPwd, cb)


有一个关于如何从生成的文件夹中的README.md文件开始使用生成的代码的详细文档。

相关问题