我对电子技术非常陌生,试图用它来构建一个跨平台应用程序,该应用程序应该能够在机器上本地运行。在服务器端,我已经有一个应用程序,该应用程序公开了REST API,并以草率的形式进行了记录。
现在,我正在尝试为此草率定义生成一个客户存根,然后可以将其与电子一起使用。如何完成的?我是否应该生成并使用JS代码(这将如何工作?)?还是有另一种(更好)的方法来实现,因为Electron内置了访问REST API之类的函数,例如
如果花时间寻找解决方案,但没有找到解决方案,我将花费大量。现在,我想知道使用Electron作为框架来访问REST API并使用swagger代码生成器自动生成代码的情况是否不常见。
答案 0 :(得分:1)
很棒的是,Electron应用程序可以与普通Web应用程序非常相似地开发。这可能就是为什么您找不到用于使用电子工具的特定说明的原因。
您应该能够继续使用通常使用的任何工具来生成从任何Web应用程序调用REST的存根,并且在Electron中引用存根时,存根应该可以正常工作(只要它们在Javascript或Typescript中生成)
您是否尝试过使用Swagger代码生成器,是否尝试过使用生成的客户端代码API,它是否给您带来错误?尝试将任何特定的错误作为新问题发布到解决方案的Stack Overflow上(或编辑此问题以更具体)。
电子几乎就像一块空白的画布-尽管肯定存在“好的做法”和“坏的做法”,但没有“正确”或“错误”的发展方式。
对于在Electron中开发应用程序,肯定有一些独特的概念,为此,最好将您的开发经验与一些一般的Electron阅读和学习结合起来。
您很快就会遇到“独特的”电子概念,例如“ main”和“ renderer”,如果您有学习资料来指导您,它将更加容易。学习电子的材料很多,所以我不会在这里列出列表。
还请注意,当提供特定的错误或最少的示例时,堆栈溢出更有用,这样您可能会得到更好的答案:-)有关更多信息,请参见:https://stackoverflow.com/help/mcve。
答案 1 :(得分:0)
我实际上按照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
步骤1正在清理生成的旧代码,而步骤2正在下载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
文件开始,有大量有关如何使用生成的代码的文档。