同时使用 flask web/html 和 flask restful/json

Using flask web/html and flask restful/json together

我正在构建一个 flask 应用程序,它通过 restful API 网络。应用程序的两个部分使用相同的 models/business 逻辑。 URL (/api/) 和请求类型应该确定哪个部分处理每个请求。

使用 Flask 实现此目的的最佳方法是什么?错误消息(例如 404 或 500)应具有正确的内容类型(html 或 json)。 我可以使用 flask-restful 扩展(连同 render_html 等)还是必须使用 2 个并行应用程序?

两个并行应用程序可以很容易地工作和扩展,但您可以在一个应用程序中完成。为您的应用程序的每个模块(api、auth 等)创建蓝图,只需 return json 为 api 和渲染 web 模板。如果出现错误,您需要为每个蓝图创建错误处理程序(API 的错误应该 return JSON 和 web 应该 return HTML 页面)。