typescript - Ladda upp fil till OpenAPI via openapi-ts


Jag försöker ladda upp en multipart-fil till en FastAPI-server med hjälp av OpenAPI för att dela typerna för uppladdningen.

Det här är min klient:

import type { paths } from "./apiTypes";
import createClient from "openapi-fetch";

export let { GET, POST, PATCH, PUT, DELETE, HEAD, TRACE } = createClient<paths>(
  {
    baseUrl: "http://localhost:8000/",
  }
);

Det här är min uppladdningsfildefinition:

load_file_load_post: {
    requestBody: {
      content: {
        "multipart/form-data": components["schemas"]["Body_load_file_load_post"];
      };
    };
    responses: {...

Uppladdning från JS (problemet är nog här):

// formData is new FormData()
await POST('/load', {
  body: formData
})

FastAPI :

@app.post("/load")
async def load_file(file: UploadFile = File(...), db: Session = Depends(get_db)):
    try:
        file_content = await file.read()

Av någon anledning säger FastAPI fortfarande att jag saknar fält (file).