【问题标题】:Django rest framework pull in external json dataDjango rest框架拉入外部json数据
【发布时间】:2015-11-15 22:25:07
【问题描述】:

如果我想将外部 api 引入 django REST 框架。最好的方法是什么?我已经有了 json,但是如何为此构造一个只读 api 端点。我正在为应用服务器使用 REST 框架,并使用外部 api 处理身份验证,但我想通过 REST 框架传递 json 数据。

【问题讨论】:

标签: django django-rest-framework


【解决方案1】:

你可以如下使用。

class MyApi(generics.GenericAPIView):

    def get(self, request, *args, **kwargs):
        external_api_url = "" 
        res = urllib.urlopen(external_api_url).read()
        data = json.loads(res)
        return Response(data, status=HTTP_200_OK)

【讨论】:

  • 虽然此答案可能是正确且有用的,但如果您 include some explanation along with it 解释它如何帮助解决问题,则最好。如果有更改(可能不相关)导致它停止工作并且用户需要了解它曾经是如何工作的,这在未来变得特别有用。
【解决方案2】:

对于只读端点,您可以使用以下代码:

from reset_framework import viewsets
from rest_framework.response import Response

class ExtenalViewSet(viewsets.ReadOnlyModelViewSet):

    def get(self, request, *args, **kwargs):
        api_url = "/api/externalurl/"
        res = urllib.urlopen(api_url).read()
        data = json.loads(res)
        return Response(data)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-09
    • 2018-09-16
    • 1970-01-01
    • 2017-03-19
    • 2018-12-11
    • 2015-01-02
    • 1970-01-01
    相关资源
    最近更新 更多