Skip to main content

Build routes using swagger specification

Project description

https://travis-ci.org/aamalev/aiohttp_apiset.svg?branch=master https://badge.fury.io/py/aiohttp_apiset.svg

Package to build routes using swagger specification.

Extends specification with directives $include, $view and $handler.

Features

  • Building of the routing from specification swagger

  • Using inclusions other specifications with concatenate url

  • Optional output of the resulting specification and view embed swagger-ui

  • Advanced router with TreeResource

  • Extract specify parameters from request and validate with jsonschema

  • Serialize data as response with middleware

Usecase

$handler

Handler:

from aiohttp import web

async def handler(request):
    return web.json_response(
        {'test': 'Hello'}
    )

Swagger spec:

swagger: '2.0'

basePath: /api/1

paths:

  /hello:
    get:
      $handler: mymodule.handler
      summary: and other not required for working route

Equal:

app.router.add_route(
    'GET',
    '/api/1/hello',
    handler,
    name='mymodule.handler')

Setup to application

Create router:

from aiohttp_apiset import SwaggerRouter

router = SwaggerRouter(
    'data/root.yaml',
    search_dirs=['routes'])

Setup to application:

router.setup(app)

or use as router:

Application(router=router)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiohttp_apiset-0.2.0.tar.gz (950.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page