wugeyi
(伍个一)
1
代码如下
@bug.delete("/bugDel")
@input(IDReq)
@output(None)
def bugDel(data):
return jsonify(bugService.bugDelService(request.json))
像一些删除,启用,禁用的接口,可能返回的数据就是一个空,就只有一个200的业务状态码,这个时候output的报错该怎么处理?
我现在是单独了一个响应为空的类
class Res_Null(Schema):
""""""
@bug.delete("/bugDel")
@input(IDReq)
@output(Res_Null)
def bugDel(data):
return jsonify(bugService.bugDelService(request.json))
greyli
(Grey Li)
5
按理(HTTP)说空响应应该返回 204 状态码,这时候可以传递空字典作为 schema 参数(output({})
):
@bug.delete("/bugDel")
@input(IDReq)
@output({})
def bugDel(data):
pass
或者使用 EmptySchema:
from apiflask.schemas import EmptySchema
@bug.delete("/bugDel")
@input(IDReq)
@output(EmptySchema)
def bugDel(data):
pass
1 个赞
greyli
(Grey Li)
7
一个空 Schema,和你自己定义的一样。不过区别是它会生成 204 响应,而不是 200。