gpt4 book ai didi

flask - 使用 Eve 处理 html 请求

转载 作者:行者123 更新时间:2023-12-03 16:23:35 25 4
gpt4 key购买 nike

我正在尝试构建一个支持 MongoDB 的 Flask 应用程序,该应用程序从相同的端点提供服务:

  • 默认为 HTML Web 界面
  • 如果 Content-Type == application/json 则为 JSON 响应

  • 这个想法是,使用浏览器使用我的应用程序的用户和以编程方式使用我的 API 的服务都可以点击 http://myapp.com/users/12345。前者提供 HTML 响应,后者提供 JSON 响应。

    据我了解,这与“纯”REST 保持一致,这与从单独的路径(例如 http://myapp.com/api/users/12345)提供 API 的传统相反。 .

    Eve 文档中没有讨论 View ,只是说结果默认以 JSON 格式提供,如果需要,则以 XML 格式提供。

    是否有任何干净的方法来覆盖此行为,例如:
  • 如果 Content-Type == application/json 则提供标准 Eve JSON 响应。
  • 否则, View 将模板应用于 Eve 返回的数据以生成 HTML 响应?

  • 这似乎是创建 RESTful 和 DRY 应用程序的一种优雅方式。

    最佳答案

    你可以看看Eve-Docs实现 HTML /docs 的扩展位于现有 Eve 驱动的 MongoDB REST 服务之上的端点。

    记住 Eve 是一个 Flask 应用程序(实际上是一个子类),所以你可以用 Flask 做的所有事情你也可以用 Eve 做(比如装饰渲染函数等)

    更新:这是一个添加自定义 /hello 的小示例片段Eve 驱动的 API (source) 的端点。如您所见,它与标准 Flask 端点几乎相同:

    from eve import Eve
    app = Eve()

    @app.route('/hello')
    def hello_world():
    return 'Hello World!'

    if __name__ == '__main__':
    app.run()

    关于flask - 使用 Eve 处理 html 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24134383/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com