[英]How to update response from external api in DRF
I am dealing with an assignment, which needs to request a third party API and take a few bites of the response and update their keys and render as DRF response. 我正在处理一项任务,该任务需要请求第三方API并采取一些响应并更新其密钥并呈现为DRF响应。
Can this be achieved via serializers? 这可以通过序列化器来实现吗?
Here what I am doing. 这就是我在做什么。
response = BooksService().get_books()
transformed_data = self.transform_data(response)
return Response(transformed_data)
def transform_data(response):
data = response.json()
required_data = {
key_i_need_1 = data.get(KeyINeed1)
key_i_need_2 = data.get(KeyINeed2)
...
}
return required_data
I think you can try doing something like this. 我想你可以尝试做这样的事情。
Serializer will respect only the fields which are defined in it, others it'll ignore. Serializer只会尊重其中定义的字段,而其他人则会忽略它们。
class ResponseSerializer(Serializer):
required_field1 = serializers.FieldType()
required_field2 = serializers.FieldType()
required_field3 = serializers.FieldType()
required_field4 = serializers.FieldType()
required_field5 = serializers.FieldType()
class Meta:
fields = (required_field1, required_field2, required_field3, required_field4, required_field5)
def view():
response = requests.get(external_api).json()
modified_response = ResponseSerializer(data=response)
return Response(modified_response.data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.