我正在用DRF开发一个Django项目。我还将drf-yasg用于文档目的。你知道吗
长话短说:我正在使用基于类的视图,我有一些非常相似的api,我决定创建一个超类,并在其中实现api的公共部分!为了更清楚:
class MySuperApiView(APIView):
permission_classes = [<some permission classes>]
@swagger_auto_schema(request_body=request_body, responses=api_responses)
def post(self, *args, **kwargs):
# do some common stuff here
self.uncommon()
# do some other common stuff here
我只是重写子类中的uncommon
方法:
class SomeCustomApi(MySuperApiView):
def uncommon(self):
# do specific things here
它工作得很好,但我有一个小问题:每个Api都有自己的api_responses
,它是在超类的swagger_auto_schema
装饰器中初始化的!而且不可能改变它!你知道吗
对于这种情况你有什么建议?我真的很想做OOP和遵守干燥的原则。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐