Атрибут url
Атрибут url применяется к объекту запроса
Request
и возвращает полный адрес, по которому пришёл запрос.
Значением атрибута является объект URL,
который содержит схему, хост, порт, путь и строку запроса.
Атрибут доступен только для чтения.
Синтаксис
request.url
Пример
Давайте выведем полный URL запроса в ответе:
from fastapi import FastAPI, Request
app = FastAPI()
@app.get('/')
def index(request: Request):
return {'url': str(request.url)}
Результат выполнения кода для адреса http://127.0.0.1:8000/:
{"url": "http://127.0.0.1:8000/"}
Пример
Давайте извлечём отдельные части URL: схему, хост и путь:
from fastapi import FastAPI, Request
app = FastAPI()
@app.get('/user/{name}')
def user(request: Request, name: str):
return {
'scheme': request.url.scheme,
'host': request.url.hostname,
'path': request.url.path,
'name': name
}
Результат выполнения кода для адреса http://127.0.0.1:8000/user/abcde:
{"scheme": "http", "host": "127.0.0.1", "path": "/user/abcde", "name": "abcde"}
Пример
Давайте получим строку запроса из URL:
from fastapi import FastAPI, Request
app = FastAPI()
@app.get('/search')
def search(request: Request):
return {
'url': str(request.url),
'query': request.url.query
}
Результат выполнения кода для адреса http://127.0.0.1:8000/search?q=hello:
{"url": "http://127.0.0.1:8000/search?q=hello", "query": "q=hello"}
Смотрите также
-
класс
Request,
который представляет входящий HTTP-запрос -
атрибут
base_url,
который хранит базовый URL без пути и параметров -
атрибут
path,
который хранит путь запроса -
атрибут
query_params,
который хранит параметры строки запроса