Jump to content

jonasschen

Members
  • Content count

    3
  • Joined

  • Last visited

Community Reputation

0 Comum

About jonasschen

  1. jonasschen

    Integração API Rest utilizando Json

    Resolvido. Contribuição muito valiosa do meu colega Thiago Blom. try idHttp.Post(URL, JsonStreamEnvio, JsonStreamRetorno); except on E:EIdHTTPProtocolException do ShowMessage(e.ErrorMessage); end;
  2. jonasschen

    Integração API Rest utilizando Json

    Olá, Descobri uma parte do problema, na verdade o meu código está certo. O problema é que dentro da API possui um tratamento de regra de negócio e caso alguma regra não seja satisfeita, ele retorna o erro 422 e retorna dentro do Json uma mensagem de erro. O problema é que aparentemente o componente idHttp interpreta isto como um erro e "estoura" uma exceção e mostra uma mensagem de erro, e não devolve o retorno do POST. Alguém já passou por isso? Tem como fazer o componente não gerar esta exceção ?
  3. jonasschen

    Integração API Rest utilizando Json

    Olá, estou com um problema em fazer uma integração utilizando uma API que utiliza Rest e trafega conteúdo no formato Json. Nesta API eu tenho que enviar um Json e pegar no retorno outro Json. Eu consigo conectar e enviar o conteúdo mas o retorno está vindo em branco. Não sei se estou fazendo algo errado, estou quebrando a cabeça a 3 dias e nada. Segue código abaixo: var URL, Retorno: String; JsonStreamRetorno, JsonStreamEnvio: TStringStream; begin URL := 'https://endereço da API'; JsonStreamEnvio := TStringStream.Create('AQUI VAI O CONTEÚDO NO FORMATO Json'); JsonStreamRetorno := TStringStream.Create(''); // Init request: try idHttp.Request.ContentType := 'application/json'; idhttp.Request.Charset := 'UTF-8'; IdHttp.IOHandler := IdSSLIOHandlerSocketOpenSSL1; // Set username and password: idHttp.Request.Clear; idHttp.Request.BasicAuthentication := False; idHttp.Request.Username := 'usuario'; idHttp.Request.password := 'senha'; idHttp.Response.ContentType := 'application/json'; idHttp.Response.CharSet := 'UTF-8'; idHttp.Post(URL, JsonStreamEnvio, JsonStreamRetorno); //> Também tentei assim mas tb não funcionou //>Retorno := idHttp.Post(URL, JsonStreamEnvio); finally //> Nenhuma dessas formar funciou para pegar o retono memo2.Lines.LoadFromStream(JsonStreamRetorno); memo2.Lines.add('1=' + JsonStreamRetorno.DataString); memo2.Lines.add('3=' + Retorno); end; end;
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.