Postar dados JSON diretamente em um backend FastAPI sem UI Swagger
FastAPI permite que os usuários postem facilmente dados JSON em seu backend, mesmo sem utilizar a documentação automatizada fornecida pelo Swagger UI. Este artigo se aprofunda no processo simples de postar dados diretamente no URL de back-end e exibir os resultados no navegador.
Criando o aplicativo FastAPI
Comece criando um aplicativo básico Aplicativo FastAPI com uma operação POST e uma classe de modelo para desserializar a carga JSON:
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
name: str
roll: int
app = FastAPI()
@app.post("/")
async def create_item(item: Item):
return item
Implementando o frontend usando JavaScript
Para o frontend, utilizaremos a API Fetch, que nos permite enviar dados JSON diretamente para o URL do backend.
fetch('/', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({name: "XYZ", roll: 51})
})
.then(resp => resp.text())
.then(data => {
console.log(data); // Display the result in the browser
})
.catch(error => {
console.error(error);
});
Neste script, criamos uma solicitação POST, especificando os cabeçalhos corretos e convertendo os dados em uma string JSON. A resposta do servidor é então exibida no navegador.
Métodos alternativos
Outras abordagens para postar dados no back-end FastAPI incluem:
Conclusão
Postar dados JSON em um back-end FastAPI sem Swagger UI é um processo simples que requer o uso de JavaScript para enviar os dados diretamente para o URL de back-end. Você pode escolher entre vários métodos para melhor atender às suas necessidades, seja o envio de dados baseado em formulário ou uma combinação de arquivo e formulário/dados JSON.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3