Для отправки нескольких изображений с дополнительными параметрами в FastAPI, вам следует использовать Pydantic модели для определения структуры данных запроса. Например, вы можете создать модель, которая содержит параметры для каждого изображения, такие как название, описание и само изображение, а затем передать список экземпляров этой модели в запрос.
Пример кода:
```python
from fastapi import FastAPI, File, UploadFile
from pydantic import BaseModel
app = FastAPI()
class ImageData(BaseModel):
name: str
description: str
image: bytes
@app.post("/upload_images/")
async def upload_images(images_data: List[ImageData]):
for image_data in images_data:
image_name = image_data.name
image_description = image_data.description
image_bytes = image_data.image
# Здесь вы можете обработать каждое изображение (например, сохранить его на сервере)
return {"message": "Images uploaded successfully"}
```
Чтобы улучшить документацию для Swagger, вы можете добавить описания и примеры данных для модели ImageData, чтобы они отображались в Swagger UI. Например:
```python
class ImageData(BaseModel):
name: str
description: str
image: bytes
class Config:
schema_extra = {
"example": {
"name": "image1",
"description": "This is the first image",
"image": "base64_encoded_image_data"
}
}
```
Это позволит Swagger правильно отображать данные для модели ImageData и помочь пользователям лучше понять, как отправлять запросы для загрузки изображений с дополнительными параметрами.