2015-08-21 17 views
0

如果我想拉入一個外部API到Django REST框架。什麼是最好的方式去做呢?我已經有了json,但是我怎樣才能爲此構建一個只讀API端點。我爲應用服務器使用REST框架,並使用外部api處理auth,但我想通過REST框架傳遞json數據。Django其餘框架拉入外部json數據

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