在Django REST API中获取不同请求方法的不同输出的最佳方法是什么?

时间:2018-09-20 13:16:18

标签: django django-rest-framework httprequest serializer

因此,我有一个具有“ field1”和“ field2”字段的模型。 而且我需要根据所使用的请求方法获得下一个结果:

$KUBE_TOKEN

我想这与序列化器的http POST http://127.0.0.1:8000/app 'someinput' > {'field1': 'content1'} http GET http://127.0.0.1:8000/app/1 > {'field1' : 'content1', 'field2': 'content2'} 方法有关吗?但是我不知道如何检查触发to_representation()的方法是'POST'还是'GET'。

1 个答案:

答案 0 :(得分:2)

如果您要为同一端点的POST和GET提供不同的输出,这不是很麻烦。

由于它的编写方式,在示例中您有2个不同的GET和POST端点-因此,在这种情况下,您只需创建2个不同的序列化器并相应地使用它即可。

如果您具有相同的端点,则可以在视图中覆盖以下方法:

def get_serializer_class(self):

    if self.request.method  == 'GET':
        return <your get serializer class>

    return < your post serializer class >