Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def put(self, request, format=None):
- """
- This text is the description for this API
- username -- username
- password -- password
- """
- username = request.DATA['username']
- password = request.DATA['password']
- def put(self, request, format=None):
- """
- This text is the description for this API.
- ---
- parameters:
- - name: username
- description: Foobar long description goes here
- required: true
- type: string
- paramType: form
- - name: password
- paramType: form
- required: true
- type: string
- """
- username = request.DATA['username']
- password = request.DATA['password']
- def put(...):
- """
- ...
- ---
- parameters:
- - name: body
- description: JSON object containing two strings: password and username.
- required: true
- paramType: body
- pytype: RequestSerializer
- """
- ...
- from django_filters.rest_framework.filterset import FilterSet
- class ProductFilter(FilterSet):
- class Meta(object):
- models = models.Product
- fields = (
- 'name', 'category', 'id', )
- class PurchasedProductsList(generics.ListAPIView):
- """
- Return a list of all the products that the authenticated
- user has ever purchased, with optional filtering.
- """
- model = Product
- serializer_class = ProductSerializer
- filter_class = ProductFilter
- def get_queryset(self):
- user = self.request.user
- return user.purchase_set.all()
- class SwaggerSchemaView(APIView):
- permission_classes = [IsAuthenticatedOrReadOnly,]
- renderer_classes = [renderers.OpenAPIRenderer, renderers.SwaggerUIRenderer]
- schema = coreapi.Document(
- title='Thingy API thing',
- 'range': coreapi.Link(
- url='/range/{start}/{end}',
- action='get',
- fields=[
- coreapi.Field(
- name='start',
- required=True,
- location='path',
- description='start time as an epoch',
- type='integer'
- ),
- coreapi.Field(
- name='end',
- required=True,
- location='path',
- description='end time as an epoch',
- type='integer'
- )
- ],
- description='show the things between the things'
- ),
- }
- )
- urlpatterns = [
- url(r'^$', SwaggerSchemaView.as_view()),
- ...
- ]
- # encoding: utf-8
- from __future__ import unicode_literals
- from __future__ import absolute_import
- import coreapi
- schema = coreapi.Document(
- title='Business Search API',
- url='/api/v3/business/',
- content={
- 'search': coreapi.Link(
- url='/',
- action='get',
- fields=[
- coreapi.Field(
- name='what',
- required=True,
- location='query',
- description='Search term'
- ),
- coreapi.Field(
- name='where',
- required=True,
- location='query',
- description='Search location'
- ),
- ],
- description='Search business listings'
- )
- }
- )
- # encoding: utf-8
- from __future__ import unicode_literals
- from __future__ import absolute_import
- from rest_framework import exceptions
- from rest_framework.permissions import AllowAny
- from rest_framework.renderers import CoreJSONRenderer
- from rest_framework.response import Response
- from rest_framework.views import APIView
- from rest_framework_swagger import renderers
- from django.utils.module_loading import import_string
- def get_swagger_view(schema_location):
- """
- Returns schema view which renders Swagger/OpenAPI.
- """
- class SwaggerSchemaView(APIView):
- _ignore_model_permissions = True
- exclude_from_schema = True
- permission_classes = [AllowAny]
- renderer_classes = [
- CoreJSONRenderer,
- renderers.OpenAPIRenderer,
- renderers.SwaggerUIRenderer
- ]
- def get(self, request):
- schema = None
- try:
- schema = import_string(schema_location)
- except:
- pass
- if not schema:
- raise exceptions.ValidationError(
- 'The schema generator did not return a schema Document'
- )
- return Response(schema)
- return SwaggerSchemaView.as_view()
- from ..swagger import get_swagger_view
- from . import views
- schema_view = get_swagger_view(schema_location='drf_api.business.schema.schema')
- urlpatterns = [
- url(r'^swagger/$', schema_view),
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement