我目前正在考虑将Google App Engine用作Web应用程序和api的无服务器后端。我研究了Google Endpoints Frameworks,并了解它可以帮助在Google App Engine上构建api。我想允许用户向api提交文件(单词,页面,文本等),并让api处理该文件并基于该文件返回信息。我试图允许用户使用端点提交文件,但是我发现的最佳解决方案是建议使用端点和Blobstore上载文件。我想避免这种情况,因为我在处理文件后无需保留文件,并且这种技术会产生额外的费用。另一方面,Google App Engine似乎允许这样做。由于App Engine允许使用与Endpoints Frameworks类似的功能,我可以单独使用App Engine来构建我的api和Web应用程序吗?这种方法会不会有任何弊端,或者会增加安全问题的风险?
另一方面,如果我决定使用Endpoints,我的网站是否可以直接向我的api进行调用,或者我是否应该为此目的创建一个完整的其他Web serverlet?
答案 0 :(得分:1)
如果您要处理的文件足够小以适合单个POST请求,则可能不需要使用Blobstore API。 只需在请求正文中包含您要处理的文件即可。 (使用BASE64等很容易。)
Cloud Endpoints Framework是在Google App Engine上运行的库。因此很明显,直接使用Google App Engine可以完成Cloud Endpoints Framework可以完成的所有工作。 (Endpoints Framework提供的API管理功能除外)
如果仅要创建一种或几种类型的API,则不需要使用Endpoints Framework,但是使用Endpoints Framework可以更轻松地管理API或多个API在开发时,您可以获得高生产率
另一方面,如果我决定使用Endpoints,我的网站是否可以直接向我的api进行调用,或者我是否应该为此目的创建一个完整的其他Web serverlet?
是的。
您可以在服务器端代码上配置CORS(Cross-Origin-Request-Sharing)。
制作自定义过滤器类以添加Access-Control-Allow-Origin
标头。