Как преобразовать данные JSON в RestaP? - PullRequest
0 голосов
/ 25 мая 2019

Я получил ответ JSON от некоторого URL. Я должен показать это в остальные API, но я получил ошибку. Вот мой код

вид

class StoreView(APIView):
    serializer_class = PostcodeLookupSerializer
    resp = requests.get('https://api.postcodes.io/postcodes/BN14 9GB')
    resp_data = resp.json()['result']
    result_dic = {
        'longitude': resp_data['longitude'],
        'latitude': resp_data['latitude']
    }
    result_data = JsonResponse(result_dic)

    def result(self):
        json_data = self.resp_data()
        file_serializer = PostcodeLookupSerializer(json_data, many=True)
        return Response(data=file_serializer.data, status=status.HTTP_200_OK)

сериализатору

class PostcodeLookupSerializer(serializers.Serializer):
    postcode = serializers.CharField(required=True)
    name = serializers.CharField(required=True)

и URL

urlpatterns = [
path('views/', StoreView.as_view(), name='postcode_lookup'),]

как отобразить ответ json в restapi? Я получил эту ошибку

"detail": "Method \"GET\" not allowed."

1 Ответ

0 голосов
/ 25 мая 2019

Вы должны вернуть данные в ответ, как показано ниже

ответ возврата (data = file_serializer.data, status = status.HTTP_200_OK)

...