我对 flask-restx 有以下 api 定义(尽管也应该与 flask-restplus 一起使用)。有没有办法在没有太多开销或使用 DAO的情况下enum
将请求正文中的 -field转换为Enum?MyEnum
class MyEnum(Enum):
FOO = auto()
BAR = auto()
@dataclass(frozen=True)
class MyClass:
enum: MyEnum
api = Namespace('ns')
model = api.model('Model', {
'enum': fields.String(enum=[x.name for x in MyEnum]),
})
@api.route('/')
class MyClass(Resource):
@api.expect(Model)
def post(self) -> None:
c = MyClass(**api.payload)
print(type(c.enum)) # <class 'str'> (but I want <enum 'MyEnum'>)
assert(type(c.enum) == MyEnum) # Fails