使用 api.expect() Flask-RESTPlus 装饰 GET 方法
Decorating GET method with api.expect() Flask-RESTPlus
我有一个用 api.expect()
装饰的端点,但我收到此错误。
{
"message": "Input payload validation failed",
"errors": {
"": "None is not of type u'object'"
}
}
为了简单起见,这就是我的代码的样子。
@api.route('/history')
class ProfitAnalyticsResource(Resource):
method_decorators = [jwt_required]
@api.expect(api.model('HistoryParameters', {
'jobId': fields.Integer(required=True, description='Job ID')
}), validate=True)
def get(self):
""" Gets the profit analytics report for the current user"""
return "test only"
我正在 Postman 上进行测试,将 jobId
作为 url 参数传入。
我没有使用 api.model()
,而是使用了 api.parser()
例如
@api.route("/list")
@api.doc(parser=parser)
class RoleListResource(Resource):
method_decorators = [jwt_required]
query_parser = api.parser()
query_parser.add_argument('page', required=False, type=int, default=1)
query_parser.add_argument('page_size', required=False, type=int, default=10)
@api.expect(query_parser, validate=True)
def get(self, query_parser=query_parser):
args = query_parser.parse_args()
page = args['page']
page_size = args['page_size']
我有一个用 api.expect()
装饰的端点,但我收到此错误。
{
"message": "Input payload validation failed",
"errors": {
"": "None is not of type u'object'"
}
}
为了简单起见,这就是我的代码的样子。
@api.route('/history')
class ProfitAnalyticsResource(Resource):
method_decorators = [jwt_required]
@api.expect(api.model('HistoryParameters', {
'jobId': fields.Integer(required=True, description='Job ID')
}), validate=True)
def get(self):
""" Gets the profit analytics report for the current user"""
return "test only"
我正在 Postman 上进行测试,将 jobId
作为 url 参数传入。
我没有使用 api.model()
,而是使用了 api.parser()
例如
@api.route("/list")
@api.doc(parser=parser)
class RoleListResource(Resource):
method_decorators = [jwt_required]
query_parser = api.parser()
query_parser.add_argument('page', required=False, type=int, default=1)
query_parser.add_argument('page_size', required=False, type=int, default=10)
@api.expect(query_parser, validate=True)
def get(self, query_parser=query_parser):
args = query_parser.parse_args()
page = args['page']
page_size = args['page_size']