Чтобы сохранить код в чистоте, я хотел удалить все, что было установлено через pip во время разработки, а затем устанавливать только самое необходимое. После того, как я это сделал, одна конечная точка, похоже, больше не работает.
Одна из конечных точек раньше работала идеально. Теперь возникают проблемы. Используя Curl или страницу /docs FastAPI, конечная точка, кажется, работает, но когда моя другая служба Java обращается к FastAPI, я получаю следующую ошибку:
Код: Выделить всё
WARNING: Unsupported upgrade request.
WARNING: No supported WebSocket library detected. Please use "pip install 'uvicorn[standard]'", or install 'websockets' or 'wsproto' manually.
INFO: 127.0.0.1:52852 - "DELETE /delete-file/ HTTP/1.1" 422 Unprocessable Entity
Я вывел тело запроса в Java:
Код: Выделить всё
2024-07-15 19:15:14 Request Body: {"host":"http://localhost:9200","index":"rag-embeddings","fileEntryId":41818}
Код: Выделить всё
2024-07-15 19:15:14 Failed to delete file entry: {"detail":[{"type":"missing","loc":["body"],"msg":"Field required","input":null}]}
Код: Выделить всё
class Metadata(BaseModel):
host: str
index: str
fileEntryId: int
@app.delete("/delete-file/")
async def delete_file(request: Metadata):
print(f"Received request: {request}")
...
Код: Выделить всё
uvicorn==0.30.1
fastapi==0.110.2
fastapi-cli==0.0.4
pydantic==2.7.1
pydantic_core==2.18.2
Подробнее здесь: https://stackoverflow.com/questions/787 ... te-request