添加API时重构Web应用程序代码

2024-04-25 17:44:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Web应用程序,我们正在为它添加API

我正在寻找最佳实践,以铭记在心,而在这方面的工作

我正在考虑以下因素:

  • 干式:避免冗余(尽可能)。 例如,处理表单提交的代码的一部分。 有些部分仅适用于Web表单提交,但与等效API Post调用无关。我正在考虑将这篇文章后面的公共代码模块化。我必须补充一点,Web表单和API的处理程序类是不同的。我正在创建第三个类,它将具有通用方法。这第三个类将由两个处理程序类(以及它们的其他基类多重继承)继承

  • 我是否应该重构代码,使Web表单“Post”处理程序方法依次调用API Post方法

谢谢


Tags: 方法代码apiweb应用程序处理程序表单模块化
1条回答
网友
1楼 · 发布于 2024-04-25 17:44:39

我认为具体细节会因具体情况而有很大差异,但我最近做了类似的事情,我将分享我的想法

我就是这样组织我的处理者的,这样我就不会重复我自己:

class MyHandler(webapp2.RequestHandler)
    class ApiHandler(MyHandler):
        class Ajax(ApiHandler): # Ajax calls on my website
        class V0(ApiHandler): # V0 of my REST API for third parties
    class WebHandler(MyHandler):
        class HomePage(WebHandler):
        class OtherPage(WebHandler):

我添加了许多子类可以使用的实用方法。例如,MyHandler有一个write_json方法,因为它在很多地方都使用,而ApiHandler有一个process_json方法,因为它只被api使用

我认为让一个post方法调用另一个post方法来避免重复自己是个坏主意。相反,我认为在模型级别进行重构会使代码更干净

相关问题 更多 >