1

不确定这是否有实际答案,但这里有。

我正在构建一个 webapp,在 appengine 上使用 webapp2,它只会向客户端公开 JSON API(基于浏览器的客户端的 shell HTML 模板除外)。

我现在拥有的是一个 main.py,它将传入的 URL 路由到处理程序。处理程序按功能分为模块(即 user_auth、user_info、组等...)。我有一个 models.py 模块,我ndb.Model的生活在那里。

涉及Models 的最低级代码包含Model在 models.py 的子类中(即models.Group有一个名为 的类方法create_group,由 调用,由groups.AddGroupHandler.add_group调用groups.AddGroupHandler.post。)

我还有一个 api.py 模块,其中包含所有 webapp 行为的类(即api.UserAuth, api.Signup,api.RegistrationVerification等...),其中包含为这些行为返回 JSON 的类方法(即api.UserAuth.session_expired,api.RegistrationVerification.bad_token等...)。

api.py 中的方法是从模型中的“低级”方法、处理程序模块中的“辅助”方法(即groups.AddGroupHandler.add_group等...)以及处理程序方法本身(即groups.AddGroupHandler.post等...)调用的.

这种结构是否会在未来引起问题,或者它现在还可以吗?此外,是否有任何已知适用于此类项目的标准结构?

编辑:我没有使用 REST 或类似的东西。

4

1 回答 1

2

我强烈建议您研究 Google Cloud Endpoints,因为它允许您使用端点框架构建 API,然后 Google 提供客户端库供您使用,因此您不必推出自己的 iOS、Android、Javascript、等前端代码与您的服务层进行通信。

https://developers.google.com/appengine/docs/java/endpoints/

有一点学习曲线,但一旦你通过它,这是一个很好的功能。它还包括内置的 OAuth 2.0 支持等内容,否则如果您想在服务层上进行身份验证,则需要自行开发。

于 2013-12-19T20:10:19.460 回答