描述
当我设置了 BASE_RESPONSE_SCHEMA 时,我以为那些我没有使用output来装饰的接口都会应用这个schema,但其实并不是,在那些使用了input装饰器的接口上它并不会被应用到,我不明白为什么input装饰器会影响到它。
下面是一个基础的示例程序:
from apiflask import APIFlask, Schema
from apiflask.fields import Field, Integer, String
app = APIFlask(__name__)
class BaseResponse(Schema):
code = Integer(required=True)
message = String(required=True)
data = Field()
class In(Schema):
id = Integer(required=True)
app.config["BASE_RESPONSE_SCHEMA"] = BaseResponse
@app.post("/")
def index(): # BASE_RESPONSE_SCHEMA生效
return {"code": 404, "message": "Not Found", "data": None}
@app.post("/id")
@app.input(In)
def post_id(json_data): # BASE_RESPONSE_SCHEMA未生效
return {"code": 404, "message": "Not Found", "data": None}