2015-08-21 4 views
0

Если я хочу вытащить внешний api в django REST framework. Каков наилучший способ сделать это? У меня уже есть json, но как я могу построить для этого только API для чтения. Я использую структуру REST для сервера приложений и обрабатываю auth с помощью внешнего api, но я хочу передать данные json через структуру REST.Django rest framework pull in external json data

+0

вы можете быть более конкретным. это немного расплывчато, так сложно сделать какие-либо предложения – miki725

+0

Это дубликат из http://stackoverflow.com/questions/16865986/how-to-post-a-django-request-to-external-server? – JMax

ответ

0

Вы можете использовать, как указано ниже.

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) 
+1

Хотя этот ответ, вероятно, правильный и полезный, рекомендуется, если вы [включите некоторое объяснение вместе с ним] (http://meta.stackexchange.com/q/114762/159034), чтобы объяснить, как это помогает решить проблему. Это становится особенно полезным в будущем, если есть изменения (возможно, не связанные), которые заставляют его перестать работать, и пользователи должны понимать, как он работал. –

0

только для чтения вы конечной точки вы можете использовать ниже код:

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) 
Смежные вопросы