Fix swagger Try it out and make endpoints work
parent
7683a28816
commit
8a8a9faeeb
|
|
@ -163,7 +163,14 @@
|
||||||
plugins: [
|
plugins: [
|
||||||
SwaggerUIBundle.plugins.DownloadUrl
|
SwaggerUIBundle.plugins.DownloadUrl
|
||||||
],
|
],
|
||||||
layout: "StandaloneLayout"
|
layout: "StandaloneLayout",
|
||||||
|
filter: true,
|
||||||
|
requestInterceptor: function(request) {
|
||||||
|
console.log(request);
|
||||||
|
var headers = request.headers || {};
|
||||||
|
headers["X-CSRFToken"] = document.querySelector("[name=csrfmiddlewaretoken]").value;
|
||||||
|
return request;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var swaggerSettings = {};
|
var swaggerSettings = {};
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Generated by Django 2.0 on 2017-12-21 15:35
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('articles', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='article',
|
||||||
|
name='body',
|
||||||
|
field=models.TextField(help_text='article model help_text', max_length=5000),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='article',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(blank=True, help_text='slug model help_text', unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='article',
|
||||||
|
name='title',
|
||||||
|
field=models.CharField(help_text='title model help_text', max_length=255, unique=True),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -7,15 +7,17 @@ class ArticleSerializer(serializers.ModelSerializer):
|
||||||
references = serializers.DictField(
|
references = serializers.DictField(
|
||||||
help_text="this is a really bad example",
|
help_text="this is a really bad example",
|
||||||
child=serializers.URLField(help_text="but i needed to test these 2 fields somehow"),
|
child=serializers.URLField(help_text="but i needed to test these 2 fields somehow"),
|
||||||
|
read_only=True,
|
||||||
)
|
)
|
||||||
uuid = serializers.UUIDField(help_text="should articles have UUIDs?")
|
uuid = serializers.UUIDField(help_text="should articles have UUIDs?", read_only=True)
|
||||||
cover_name = serializers.FileField(use_url=False, source='cover', read_only=True)
|
cover_name = serializers.FileField(use_url=False, source='cover', read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Article
|
model = Article
|
||||||
fields = ('title', 'body', 'slug', 'date_created', 'date_modified',
|
fields = ('title', 'body', 'slug', 'date_created', 'date_modified',
|
||||||
'references', 'uuid', 'cover', 'cover_name')
|
'references', 'uuid', 'cover', 'cover_name')
|
||||||
read_only_fields = ('date_created', 'date_modified')
|
read_only_fields = ('date_created', 'date_modified',
|
||||||
|
'references', 'uuid', 'cover_name')
|
||||||
lookup_field = 'slug'
|
lookup_field = 'slug'
|
||||||
extra_kwargs = {'body': {'help_text': 'body serializer help_text'}}
|
extra_kwargs = {'body': {'help_text': 'body serializer help_text'}}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,8 +45,8 @@ class ArticleViewSet(viewsets.ModelViewSet):
|
||||||
max_page_size = 5
|
max_page_size = 5
|
||||||
filter_backends = (DjangoFilterBackend, OrderingFilter)
|
filter_backends = (DjangoFilterBackend, OrderingFilter)
|
||||||
filter_fields = ('title',)
|
filter_fields = ('title',)
|
||||||
ordering_fields = ('date_modified',)
|
ordering_fields = ('date_modified','date_created')
|
||||||
ordering = ('username',)
|
ordering = ('date_created',)
|
||||||
|
|
||||||
@swagger_auto_schema(auto_schema=NoPagingAutoSchema)
|
@swagger_auto_schema(auto_schema=NoPagingAutoSchema)
|
||||||
@list_route(methods=['get'])
|
@list_route(methods=['get'])
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -30,13 +30,15 @@ class SnippetSerializer(serializers.Serializer):
|
||||||
language = LanguageSerializer(help_text="Sample help text for language")
|
language = LanguageSerializer(help_text="Sample help text for language")
|
||||||
styles = serializers.MultipleChoiceField(choices=STYLE_CHOICES, default=['friendly'])
|
styles = serializers.MultipleChoiceField(choices=STYLE_CHOICES, default=['friendly'])
|
||||||
lines = serializers.ListField(child=serializers.IntegerField(), allow_empty=True, allow_null=True, required=False)
|
lines = serializers.ListField(child=serializers.IntegerField(), allow_empty=True, allow_null=True, required=False)
|
||||||
example_projects = serializers.ListSerializer(child=ExampleProjectSerializer())
|
example_projects = serializers.ListSerializer(child=ExampleProjectSerializer(), read_only=True)
|
||||||
difficulty_factor = serializers.FloatField(help_text="this is here just to test FloatField")
|
difficulty_factor = serializers.FloatField(help_text="this is here just to test FloatField", read_only=True)
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
"""
|
"""
|
||||||
Create and return a new `Snippet` instance, given the validated data.
|
Create and return a new `Snippet` instance, given the validated data.
|
||||||
"""
|
"""
|
||||||
|
del validated_data['styles']
|
||||||
|
del validated_data['lines']
|
||||||
return Snippet.objects.create(**validated_data)
|
return Snippet.objects.create(**validated_data)
|
||||||
|
|
||||||
def update(self, instance, validated_data):
|
def update(self, instance, validated_data):
|
||||||
|
|
|
||||||
|
|
@ -459,8 +459,6 @@ definitions:
|
||||||
required:
|
required:
|
||||||
- title
|
- title
|
||||||
- body
|
- body
|
||||||
- references
|
|
||||||
- uuid
|
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
title:
|
title:
|
||||||
|
|
@ -489,14 +487,16 @@ definitions:
|
||||||
description: but i needed to test these 2 fields somehow
|
description: but i needed to test these 2 fields somehow
|
||||||
type: string
|
type: string
|
||||||
format: uri
|
format: uri
|
||||||
|
readOnly: true
|
||||||
uuid:
|
uuid:
|
||||||
description: should articles have UUIDs?
|
description: should articles have UUIDs?
|
||||||
type: string
|
type: string
|
||||||
format: uuid
|
format: uuid
|
||||||
|
readOnly: true
|
||||||
cover:
|
cover:
|
||||||
type: string
|
type: string
|
||||||
format: uri
|
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
format: uri
|
||||||
cover_name:
|
cover_name:
|
||||||
type: string
|
type: string
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
|
@ -516,8 +516,6 @@ definitions:
|
||||||
required:
|
required:
|
||||||
- code
|
- code
|
||||||
- language
|
- language
|
||||||
- example_projects
|
|
||||||
- difficulty_factor
|
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
id:
|
id:
|
||||||
|
|
@ -1020,9 +1018,11 @@ definitions:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
$ref: '#/definitions/Project'
|
$ref: '#/definitions/Project'
|
||||||
|
readOnly: true
|
||||||
difficulty_factor:
|
difficulty_factor:
|
||||||
description: this is here just to test FloatField
|
description: this is here just to test FloatField
|
||||||
type: number
|
type: number
|
||||||
|
readOnly: true
|
||||||
UserSerializerrr:
|
UserSerializerrr:
|
||||||
required:
|
required:
|
||||||
- username
|
- username
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue