我正在使用基于Flask/Marshmallow的REST API框架flask-smorest,并希望能够解析使用axios JavaScript库发出的请求,特别是通过查询字符串传递的数组。
Axios 发送如下数组:
/api/v1/items/?types[]=cd&types[]=dvd
我需要为此创建一个自定义解析器(另请参阅我创建的票证上的有用响应(,以便我能够拼凑出一个满足我目的的基本解析器。
但是对于我的一生,我不知道如何告诉flask_smorest或棉花糖将这个自定义解析器用于我的 API 的基于MethodView
的端点。
我也在考虑在我的Schema
中创建一个自定义字段,但我也不知道如何访问查询字符串以便可以正确解析它。
那么,在 flask_smorest/marshmallow 中集成特定类型的查询字符串数组编码的解析器的最佳方法是什么?
假设您创建了一个解析器,如webargs文档中所示,您需要做的就是告诉您的flask-smorest应用程序使用此自定义解析器代替默认FlaskParser
。
这是通过覆盖Blueprint
和覆盖ArgumentsMixin
中的ARGUMENTS_PARSER
来完成的:
import flask_smorest
class Blueprint(flask_smorest.Blueprint):
ARGUMENTS_PARSER = CustomParser()