【问题标题】:What is the connection between backend and api like using bottle python?后端和api之间有什么联系,比如使用bottle python?
【发布时间】:2019-08-03 08:25:46
【问题描述】:

我是瓶子和全栈开发的新手。我想知道整个 Web 应用程序的结构。连接是如何真正实现的,api代码是在一个单独的文件中还是要合并到主脚本中。

所以我有几个类,它们在主脚本中实例化,它们将接受用户输入并返回值“说字典或字符串”。我只是想不出一种将瓶子连接到这些输出值的方法,除非瓶子代码在主脚本中。我会上传代码,但它太大了。

#this code is in a separate file
@post('/home')  # or @route('/login', method='POST')
def simulate():
    #windturbine
    radius = float(request.forms.get('radius'))
    noOfTurbines = float(request.forms.get('noOfTurbines'))
    windDict = windturbine(radius, noOfTurbines).Forecast_Wind_Engergy(2)

我希望每次用户输入值时都运行主程序,但是到目前为止我实现它的方式,瓶代码中的 main 之间没有联系。我唯一的联系是通过瓶代码中的实例化对象,这显然与 main 中的不同。

【问题讨论】:

  • 您可以在 URL 之间发送 JSON 作为 POST 请求。您的应用的结构是什么?
  • 对于一个表单,您可以拥有相同的 URL 路由,但编写两次 GET(用于加载表单)和 POST 用于处理它。在 bottlepy.org 上有一些很好的例子

标签: python-3.x class oop bottle


【解决方案1】:

稍微了解一下 mvc 会对代码结构有所帮助。您将路由(您执行请求的部分)与控制器(所有逻辑进入的部分,数学,查询,fors 等)和模型(您放置表或文档的结构)分开。

在您想要从令人讨厌的 Web 应用程序中创建一个单独的 api 的一侧,因为您只有一个用于多个应用程序 Web 桌面或移动设备的逻辑部分,大多数时候人们将 Web 应用程序与 api 分开。

对于应用程序和 api 之间的通信,您需要一种身份验证方法,例如,您可以使用 oauth,例如 jwt,而不是在所有需要登录用户的 api 路由上,您要求在标头上提供 oauth 或 jwt 令牌,所以不是每个人都可以使用你的 api。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-31
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多