【问题标题】:How to update response from external api in DRF如何在 DRF 中更新来自外部 api 的响应
【发布时间】:2019-05-24 19:21:15
【问题描述】:

我正在处理一项任务,该任务需要请求第三方 API 并获取一些响应并更新其密钥并呈现为 DRF 响应。

这可以通过序列化程序实现吗?

这是我在做什么。

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

【问题讨论】:

    标签: python serialization django-rest-framework


    【解决方案1】:

    我认为你可以尝试做这样的事情。

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2021-06-12
      • 1970-01-01
      相关资源
      最近更新 更多