2017-07-20 3 views
0

たとえば、このようなURL-localhost:8000/object?name=STHがあるとします。誰でも、objectnameとをSTHと表示するには、Django Swagger Documentationを使ってどのように表示できますか?Django Swaggerドキュメンテーションでクエリパラメータを使用するには?

class ObjectList(GenericAPIView): 

    serializer_class = ObjectSerializer 

    def get(self, request): 
     try: 
      t = request.GET['sth'] 
      object = Object.objects.filter(sth=sth) 
     except: 
      object = Object.objects.all() 
     serializer = ObjectSerializer(object, many=True) 
     return Response(serializer.data) 

私は、このようにしようとしていますが、それは私の闊歩に表示されていない:

URL:url(r'^object-data$', views.ObjectList.as_view()),

class ObjectList(GenericAPIView): 
    serializer_class = ObjectSerializer 
    filter_backends = (DjangoFilterBackend,) 
    filter_fields = ('sth',) 

をこの時点では、以下のように私の闊歩が見えます。私はpagesの代わりにsthを持っています。なぜそこにいるのか分かりません。 enter image description here

答えて

1

私は残りのフレームワークとうまく統合され、それはまた、あなたが闊歩しているエンドポイントの自動生成されたフィルタリング列を取得し、闊歩のドキュメントをサポートしていdjang-filterパッケージを使用しています。

from django_filters.rest_framework import DjangoFilterBackend 
from rest_framework.generics import ListAPIView 

class ObjectList(ListAPIView): 
    serializer_class = ObjectSerializer 
    queryset = Object.objects.all() 
    filter_backends = (DjangoFilterBackend,) 
    filter_fields = ('sth',) 
+1

私は結果なしで使用しようとしています。最初の投稿にGenericAPIViewのサンプルを追加しました。この例でどのように行うべきか私に見せてもらえますか?私はそれを残りの見解にマッピングしますか? – wahtdbogh

+0

私はあなたのビューのサンプルを追加しました。 'pip install django-filter'をインストールし、INSTALLED_APPSに 'django_filters'を追加してください。 –

+0

genericAPIViewを試しましたが、Swaggerでは表示されません。何も返さない。これは最初の投稿からの私の見解と同じですか? – wahtdbogh

関連する問題