Простой пример¶
Создайте приложение:
В файле example/app.py вашего проекта укажите следующий пример:
from slinn.net.http import HttpRouter, HttpRequest
from slinn.net.http.responses import HttpRedirect
from slinn.net.http.filters import AnyFilter
router = HttpRouter()
@router.get('api/<str method>')
async def api(request: HttpRequest, method: str):
return {
'status': 'ok',
'method': method,
'ip': request.ip
}
@router.get()
@router.get('index')
async def index():
return HttpRedirect('/helloworld')
@router(AnyFilter)
async def helloworld():
return 'Hello world!'
В этом примере создается диспатчер dp. Это стандартное и обязательное название для корневых диспатчеров приложений в
файлах app.py.
Прописаны три обработчика:
-
api- возвращаетHttpJSONResponseс методом, извлеченным из ссылки и с IP-адресом, с которого пришел запрос. Например,GET /api/pingвернет{"status":"ok","method":"ping","ip":"127.0.0.1"}; -
index- возвращаетHttpRedirectредирект на/helloworld. Обработчик вызывается только приGET /иGET /index; -
helloworld- возвращаетHttpResponseс текстомHello, world!при любом запросе (кроме вышеописанных).