我的问题是如何使用更通用的REST API编写更严格的API。我在我的应用程序中工作api但我需要添加一些基于通用API的更严格的服务,这是一个问题,因为我不能简单地覆盖请求数据,因为它是不可变的。我正在使用Django休息框架3.
示例:
我对动物的通用api:
class AnimalService(APIView):
def get(self, request, *args, **kwargs):
data = request.data.copy()
if data.get('type') == 'dog':
#...do something
现在我只需要api用于硬编码的狗:
class DogService(AnimalService):
def get(self, request, *args, **kwargs):
#hardcode request.data['type'] = 'dog'
return super(DogService, self).get(*args, **kwargs)