flasgger/flasgger

Use python 3.7 new dataclass to specify Schema

Open

#204 geöffnet am 28. Juni 2018

Auf GitHub ansehen
 (2 Kommentare) (13 Reaktionen) (0 zugewiesene Personen)Python (500 Forks)batch import
enhancementhacktoberfesthelp wanted

Repository-Metriken

Stars
 (3.435 Stars)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

With the new python 3.7 dataclass (https://www.python.org/dev/peps/pep-0557/)

It would be nice to automatically infer the response schema from it , instead of:

from marshmallow import Schema, fields, post_load
from flasgger import Swagger, SwaggerView

class FooSchema(Schema):
    url = fields.Str(required=True)

class FooView(SwaggerView):
    responses = {
        200: {
            'description': 'Foo Example',
            'schema': FooSchema
        }
    }
    . . . . 

do

from flasgger import Swagger, SwaggerView

@dataclass
class Foo:
    url: str

class FooView(SwaggerView):
    responses = {
        200: {
            'description': 'Foo Example',
            'schema': Foo
        }
    }
    . . . . 

Contributor Guide