Параметр allow_methods
Параметр allow_methods передаётся в middleware
CORSMiddleware
и определяет, какие HTTP-методы браузеру разрешено
использовать при кросс-доменных запросах.
Значением служит список строк с именами методов,
например ['GET', 'POST'].
По умолчанию список содержит только метод 'GET',
а чтобы разрешить все методы, указывают ['*'].
Синтаксис
CORSMiddleware(app, allow_methods=[...])
Пример
Давайте разрешим только методы 'GET' и 'POST':
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=['http://localhost:3000'],
allow_methods=['GET', 'POST']
)
@app.get('/')
def index():
return {'text': 'hello'}
Теперь браузер сможет обращаться к '/'
методами GET и POST, а запрос методом DELETE
будет заблокирован CORS-политикой.
Пример
Давайте разрешим все HTTP-методы с помощью '*':
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=['*'],
allow_methods=['*']
)
@app.get('/')
def index():
return {'text': 'hello'}
Результат выполнения кода для кросс-доменного GET-запроса:
{"text": "hello"}
Смотрите также
-
класс
CORSMiddleware,
который настраивает кросс-доменные запросы -
параметр
allow_origins,
который задаёт разрешённые источники запросов -
параметр
allow_headers,
который задаёт разрешённые заголовки запросов -
параметр
allow_credentials,
который разрешает передачу учётных данных