0
我有一個麻煩調用外部API。這是我的看法:Django外部API調用
class TestView(APIView):
def call_api(self, request, *args, **kwargs):
headers = {}
url = 'http://jsonplaceholder.typicode.com/users/'
method = request.method.lower()
method_map = {
'get': requests.get,
'post': requests.post,
'put': requests.put,
'patch': requests.patch,
'delete': requests.delete
}
return Response(method_map[method](url, headers=headers, data=json.dumps(request.data)).json())
def get(self, request, *args, **kwargs):
return self.call_api(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
return self.call_api(request, *args, **kwargs)
def put(self, request, *args, **kwargs):
return self.call_api(request, *args, **kwargs)
def patch(self, request, *args, **kwargs):
return self.call_api(request, *args, **kwargs)
def delete(self, request, *args, **kwargs):
return self.call_api(request, *args, **kwargs)
這是我的urls.py:
url(r'^test/(?P<pk>[0-9]+)/$', TestView.as_view()),
如何更新我的網址和call_api()來獲取用戶的一個:測試/ 1/- 去http://jsonplaceholder.typicode.com/users/1 ,測試/ 2 - 去http://jsonplaceholder.typicode.com/users//2。現在,我擁有該urls.py中的所有用戶。此外,我需要這個所有REST請求。謝謝。
你的問題還不清楚。你的網址已經支持通話測試/ 1 /等。 –
是的,但在這個網址我得到http://jsonplaceholder.typicode.com/users/,我需要去http://jsonplaceholder.typicode.com/users/ 1 – Serko
但是這肯定是'call_api'的責任。 –