我正在尝试构建一个支持 MongoDB 的 Flask 应用程序,该应用程序从相同的端点提供服务:
- 默认情况下为 HTML Web 界面
- 如果是 JSON 响应
Content-Type == application/json
这个想法是,使用浏览器使用我的应用程序的用户和以编程方式使用我的 API 的服务都可以访问http://myapp.com/users/12345前者提供 HTML 响应,后者提供 JSON 响应。
据我了解,这与“纯”REST 保持一致,这与从http://myapp.com/api/users/12345等单独路径提供 API 的传统不同。
Eve 文档中没有讨论视图,只是说结果默认以 JSON 格式提供,如果需要,则以 XML 格式提供。
是否有任何干净的方法来覆盖此行为,例如:
- 如果满足以下条件,则提供标准 Eve JSON 响应
Content-Type == application/json
- 否则,视图将模板应用于 Eve 返回的数据以生成 HTML 响应?
这似乎是创建 RESTful 和 DRY 应用程序的一种优雅方式。