1
resposta

não funciona no postman

cód no pcharm sem erro e rodando * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) configuração no postman: body > raw
{
     "tamanho": 120,
     "ano": 2001,
     "garagem": 2
}
configuração no postman: Headers > inclusão de Content-Type>apllication/json retorno do postman
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)</p>
code do postman
curl --location --request POST 'http://127.0.0.1:5000/cotacao/' \
--header 'Content-Type: application/json' \
--data-raw '{
  "tamanho": 120,
  "ano": 2001,
  "garagem": 2
}'
obs: o consumo da API no Jupyter funciona
1 resposta

Oii Cassia, como você está?

Peço perdão pela demora em obter um retorno.

Seguindo as configurações que você apresentou, o resultado foi obtido como esperado no postman.

Porém, consegui fazer a simulação deste erro quando algum caractere indesejável era colocado no início do corpo da requisição, como mostro abaixo:

Imagem mostrando o erro apresentado no postman

Tente os passos abaixo para solucionar este erro:

1- Criar uma novo arquivo de requisição POST e escrever manualmente o corpo da requisição, lembrando de observar se a opção JSON em raw está marcada:

Imagem mostrando a opção JSON do formato raw

2 - Cancelar a execução do código e iniciar o servidor novamente e testar novamente no postman.

3- Observar se sua função apresenta o código a seguir:

@app.route('/cotacao/', methods=['POST'])
def cotacao():
    dados = request.get_json()
    dados_input = [dados[col] for col in colunas]
    preco = modelo.predict([dados_input])
    return jsonify(preco=preco[0])

Qualquer dúvida estou por aqui, a gente vai conversando.

Abraços e bons estudos!