'Third Party AP in DRF
Im trying consulting http://ip-api.com/json/ with parameter QUERY,like localhost:8000/api?24.48.0.1 but only received
''"query": [
"This field is required."''
views.py:
@api_view()
def my_view(request):
input = MyInputSerializer(data=request.GET)
input.is_valid(True)
tp_api = "http://ip-api.com/json{}".format(input.data['query'])
response_data = requests.get(tp_api).json()
my_serializer = MyOutputSerializer(data=response_data, many=True)
my_serializer.is_valid(True)
return Response(data=my_serializer.data)
Serializers.py
class MyInputSerializer(serializers.Serializer):
query = serializers.CharField()
class MyOutputSerializer(serializers.Serializer):
query = serializers.CharField()
country = serializers.CharField()
Urls.py
from django.urls import path
from . import views
urlpatterns = [
path('api',views.my_view),
]
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
