1
resposta

Endpoint "cotacao" não traz resultados

Segui o passo-a-passo dessa aula e este erro continua insistindo quando falo a solicitação POST no endpoint da cotação.

<!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>
1 resposta

Oii Breno, como você está? Espero que esteja bem ^-^

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

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 e buscando novas abordagens caso necessário.

Grande abraço!