I został zbudowany Django API, które po podaniu adresu e-mail za pośrednictwem POST odpowie wartość logiczną wskazującą, czy nie pogoda, że adres e-mail już istnieje w mojej bazy danych:Dlaczego ta dokumentacja API interfejsu API Django-Rest-Swagger nie działa poprawnie?
class isEmailTaken(views.APIView):
permission_classes = [permissions.AllowAny,]
def post(self, request, *args, **kwargs):
try:
email = request.DATA['email']
except KeyError:
return HttpResponse(
'An email was not given with this request.',
status=status.HTTP_400_BAD_REQUEST,
)
return HttpResponse(
json.dumps(
User.objects.filter(email=email),
content_type="application/json",
status=status.HTTP_200_OK,
)
)
Teraz chciałbym użyć django-rest-swagger pakiet do automatycznego generowania dokumentacji dla tego API. Zainstalowałem paczkę i wstawiłem komentarze, które widzisz powyżej między potrójnymi cytatami. Kiedy patrzę na dokumentację stworzoną przez django-rest-swagger dla tego API, widzę obraz poniżej.
Jednak po kliknięciu przycisku Try it out!
, otrzymuję błąd pokazany poniżej. Warto zauważyć, że nigdy nie daje mi ona możliwości wprowadzenia argumentu e-mail, który powinien wysłać za pośrednictwem POST.
Dlaczego nie Django Swagger-Package tworzyć dokumenty, które pozwalają mi właściwie argument "email" poprzez POST? Jak mogę to zrobić?
Do dwóch osób, które nie głosują: Jak to pytanie jest niejasne lub nieużyteczne? Dlaczego powiedziałbyś, że pokazuje brak badań. Wyjaśniłem, co próbowałem zrobić. Oprogramowanie nie działa tak jak w reklamie i pytam dlaczego. Wydaje się, że jest to całkowicie uzasadnione pytanie, dla którego stworzono StackOverflow. –
Czy możesz wydrukować żądanie i obiekty request.DATA tuż przed instrukcją return, abyśmy mogli zobaczyć, co tu się dzieje? – Norman8054
Norman, zredagowałem oryginalne pytanie, aby dołączyć dwie nowe instrukcje dziennika. Tutaj możesz zobaczyć dane wyjściowe: https://gist.github.com/syedsaqibali/b2f825c8234df77a9e7a –