Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Bloco responsável por realizar uma requisição REST a partir do recurso (URL) informado.


Image Added

Figura 1 - Bloco Obter conteúdo da URL

Obtém o conteúdo de um serviço REST.

Parâmetros de Entrada

ParâmetroNomeTipoDoc1Método da requisiçãoStringMétodo de requisição2Tipo de conteúdoStringTipo do conteúdo3Endereço URLString

Endereço URL a ter conteúdo obtido

Compatibilidade

  • Bloco servidor: cronapi.util.Operations.getURLFromOthers()

Retorno

Retorna o conteúdo da requisição REST com base no que foi selecionado no parâmetro Tipo de resposta.

Parâmetros

Descrição dos parâmetros do bloco.


Aviso

A partir da versão do cronapi-2.8.16, o parâmetro Parâmetros passa a montar a query string e o parâmetro Dados para postagem passa a executar e montar os parâmetros no post body.

Método da requisição

Permite selecionar o verbo HTTP do recurso.

  • Posição: 1
  • Inglês: Request Method
  • Tipo: Texto / String
  • Exemplo: PUT
  • Opções
    • GET: solicita uma representação de dados de um recurso específico.
    • POST: submete dados a serem processados para um recurso específico.
    • PUT: requisita que uma entidade seja armazenada embaixo do URI fornecido. Se o URI se refere a um recurso que já existe, ele é modificado; se o URI não aponta para um recurso existente, então o servidor pode criar o recurso com esse URI.
    • DELETE: apaga o recurso especificado.
    • PATCH: utilizado para aplicar modificações parciais em um recurso.
    • HEAD: solicita uma resposta de forma idêntica ao método GET, porém sem conter o corpo da resposta.
    • OPTIONS: usado para descrever as opções de comunicação com o recurso de destino. 
    • TRACE: executa um teste de chamada loop-back junto com o caminho para o recurso de destino.


Dica

Acesse Métodos de requisição HTTP para maiores informações.

Tipo de conteúdo

Define o formato passado no corpo da requisição. Em geral, esse parâmetro é mais utilizado em requisições do tipo PUT e POST.

  • Posição: 2
  • Inglês: Content Type
  • Tipo: Texto / String
  • Exemplo: "x-www-form-urlencoded"
  • Opções:
    • JSON: objeto JSON.
    • x-www-form-urlencoded: formato para codificação de pares chave-valor. Ex.: name=Pedro&lastName=Andrade
    • multipart/form-data: separa o conteúdo enviado em blocos de dados, utilizado em conjunto com o bloco Objeto para form-Data.


Dica

Veja mais detalhes sobre os formatos "x-www-form-urlencoded" e "multipart/form-data" em POST - HTTP.

Endereço URL

Endereço URI da requisição REST.

É comum utilizarmos o bloco Criar texto com para concatenar a URL base da API (ex:  "https://minhaapi.com/user/") com o identificador do recurso obtido via parâmetro da função de bloco (ex: "345678").

  • Posição: 3
  • Inglês: URL address
  • Tipo: Texto / String
  • Exemplo: "https://minhaapi.com/user/345678/info"

Parâmetro

4ParâmetroMapa

Parâmetros a serem utilizados como filtros da requisição. É

 

necessário passar um mapa (ou objeto JSON) com

objetos

atributo para cada parâmetro.

5
  • Posição: 4
  • Inglês: Parameters
  • Tipo: Map / Mapa
  • Exemplo: "{"id":"345678"}"

Cabeçalho de requisição

Mapa

Objeto com atributos a serem tratados pelo serviço.

É necessário

É necessário passar um mapa (ou objeto JSON) com os atributos.

  • Posição: 5
  • Inglês: Headers
  • Tipo: Map / Mapa
  • Exemplo: "{"X-AUTH-TOKEN":"eyJhbGMiJ9.eyJzdWIsI...
  • "}"

Âncora
paramDadosPostagem
paramDadosPostagem

6Mapa com o corpo

Dados para a postagem

Mapa

Conteúdo a ser adicionado

a requisição7Endereço e nome do arquivo.

no corpo na requisição. O formato é definido pelo recurso a ser requisitado, normalmente JSON. 

Para o envio de arquivos, também é possível passar nesse parâmetro um mapa contendo os dados de um arquivo ou utilizar o bloco Objeto para Form-Data / Form-Data Object.

  • Posição: 6
  • Inglês: Data to Post
  • Tipo: Map / Mapa (JSON)
  • Exemplo: "{"id":"123","nome":"Paulo"}"

Caminho do arquivo

String

Endereço (caminho) onde o arquivo será salvo ao realizar uma requisição no formato stream. Deve-se informar o caminho com o nome e extensão do arquivo. É recomendado utilizar o caminho de uma pasta temporária da aplicação (exemplo Pasta reciclável da aplicação), evitando manter arquivos obtidos pela aplicação no servidor.

Esse campo deve ser utilizado quando o retorno for um array de bytes referente a um arquivo.

8
  • Posição: 7
  • Inglês: Path of the file
  • Tipo: Texto / String
  • Exemplo: "/home/cronapp/project/src/"

Âncora
paramTipoResposta
paramTipoResposta

Tipo de resposta

String

Define o retorno do bloco.

  • Posição: 8
  • Inglês: Response
  • Tipo: Texto / String
  • Exemplo: "body"
  • Opções:
    • Tudo (inglês: All): obtém todos os tipos de respostas em um único objeto, utilize o bloco Obter item da resposta HTTP para obter o body, stream e status do retorno desse objeto.
    • Body: corpo da requisição.
    • Stream: corpo da requisição em formato Stream (arquivos).
      Ao selecionar essa opção, o bloco Obter conteúdo da URL não retornará valor, veja Exemplo 2.
    • Status: código HTTP da resposta.
Aviso

A partir da versão do cronapi-2.8.16, o parâmetro Parâmetros passa a montar a query string e o parâmetro Dados para postagem passa a executar e montar os parâmetros no post body.

Retorno

Retorna uma String com o conteúdo da URL.

Compatibilidade

Image Removed Servidor

Exemplo 1

A função abaixo

Exemplo 1

A função abaixo inicia criando um mapa contendo o atributo "X-AUTH-TOKEN", usado para autenticação, na variável "autenticacao". Em seguida, faz uma requisição GET em um serviço web e utiliza a entrada Parâmetros para realizar um filtro do tipo query string, no parâmetro Cabeçalho da requisição inclui a variável de "autenticacao". O conteúdo obtido pela requisição é impresso no Console do Depurador (Figura 2).

Endereço montado na requisição da figura 1:  https://minhaapi.com.br/users?id=82


Image Added

Figura 2

Image Removed

Figura 1

- Exemplo de requisição utilizando o bloco Obter conteúdo da URL

Âncora
exemplo2
exemplo2

Exemplo 2

Também é possível realizar uma requisição que retorna um array de bytes de arquivo.

O exemplo abaixo faz uma requisição que retorna um arquivo (logo.

img

svg), usamos o parâmetro Caminho do arquivo (destaque 1 da figura

2

3) para informar o local onde será salvo este conteúdo "Pasta da aplicação/

logo-

Cronapp.

png

svg" e definimos o Tipo da resposta como "Stream"  (destaque 2 da figura

2

3). O resultado da execução do bloco pode ser visto no destaque 3 da figura

2.

3.

No formato Stream, o bloco Obter conteúdo da URL não retorna valores, apenas executa a ação e salva o arquivo obtido no endereço informado no parâmetro Caminho do arquivo.


Image Added

Figura 3

Image Removed

Figura 2

- Exemplo de requisição com array de bytes

Sobre o protocolo HTTP

Hypertext Transfer Protocol (HTTP) é o método utilizado para enviar e receber informações na web. Este protocolo é baseado em requisições e respostas entre clientes e servidores.

Informações
titleMais sobre

Protocolo HTTP

Sobre URL - Localizador Uniforme de Recursos

Um URL se refere ao endereço de rede no qual se encontra algum recurso a ser acessado, como por exemplo uma página de internet, um arquivo de computador. Este acesso pode ser feito via Internet, por uma rede corporativa (como uma intranet) e etc.

Informações
titleMais sobre

URL

Sobre URI - Identificador Uniforme de Recursos

Uniform Resource Identifier (em inglês) é a uma cadeia de caracteres compacta usada para identificar ou denominar um recurso na Internet. O principal propósito desta identificação é permitir a interação com representações do recurso através de uma rede usando protocolos específicos. 

Informações
titleMais sobre

URI

Sobre os métodos de requisição

A obtenção de cabeçalhos do URL pode ser feito utilizando os métodos:

  • GET: solicita uma representação de dados de um recurso específico.
  • POST: submete dados a serem processados para um recurso específico.
  • PUT: requisita que uma entidade seja armazenada embaixo do URI fornecido. Se o URI se refere a um recurso que já existe, ele é modificado; se o URI não aponta para um recurso existente, então o servidor pode criar o recurso com esse URI.
  • DELETE: apaga o recurso especificado.
  • PATCH: utilizado para aplicar modificações parciais em um recurso.
  • HEAD: solicita uma resposta de forma idêntica ao método GET, porém sem conter o corpo da resposta.
  • OPTIONS: usado para descrever as opções de comunicação com o recurso de destino. 
  • TRACE: executa um teste de chamada loop-back junto com o caminho para o recurso de destino.

Image Removed

Figura 3 - Métodos de Requisição

Dica

Acesse Métodos de requisição HTTP para maiores informações.

Sobre os tipos de conteúdo

A codificação URL é frequentemente utilizada no envio de formulários web através de uma requisição POST. A codificação padrão empregada nesse envio é a "x-www-form-urlencoded". Este é um formato para codificação de pares chave-valor. Cada par chave-valor é separado por um caractere '&' e cada chave é separada de seu valor por um caractere '='. Chaves e valores são ambos espaçados pela substituição de espaços com o caractere '+' e então utilização de codificação de URL em todos os caracteres não-alfanuméricos.

Bloco de código
languagexml
themeEclipse
firstline1
titleExemplo
linenumberstrue
collapsetrue
Os pares chave-valor:
 
Nome: Jonathan Doe
Idade: 23
Fórmula: a + b == 13%!
 
são codificados como:
 
Nome=Jonathan+Doe&Age=23&Formula=a+%2B+b+%3D%3D+13%25%21
Informações
titleMais sobre

x-www-form-urlencoded

JSON é um acrônimo para "JavaScript Object Notation". Um formato de padrão aberto que utiliza texto legível a humanos para transmitir objetos de dados consistindo de pares chave-valor. É o formato de dados mais comumente utilizado para comunicação assíncrona navegador/servidor.

Informações
titleMais sobre

JSON

Os itens mostrados na figura 3 são conhecidos por MIME Type, Clique a aqui para saber mais sobre.

Image Removed

Exemplo 3

Mostraremos agora como realizar uma requisição de envio (POST) com arquivos.

No exemplo da figura 4, obtemos um arquivo enviado pelo usuário da aplicação com o uso do bloco Upload de arquivos e encaminhamos esse arquivo para um recurso em uma API qualquer. Independente da configuração feita no parâmetro Múltiplo do bloco Upload de arquivos (destaque 1 da figura 4), ele sempre retornará uma lista com os endereços dos arquivos, dessa forma, utilizamos o bloco Na lista para obter o endereço desse array e incluí-lo em um mapa, cujo nome da chave foi criado como "file" (2). Foi necessário criar um mapa pois o parâmetro Dados para postagem sempre espera receber um mapa ou JSON.

Utilizamos o bloco Obter conteúdo da URL e configuramos o parâmetro Método da requisição como "POST", no Endereço URL informamos o recurso que espera receber o arquivo e no parâmetro Dados para a postagem incluímos o mapa com o arquivo obtido do bloco Upload de arquivo.

Se não ocorrer nenhum problema durante o processo de requisição, o retorno do bloco Obter conteúdo da URL será "200", pois o parâmetro Tipo da resposta está configurado com a opção "Status".


Image Added

Figura 4 - Exemplo de requisição POST com o uso de arquivo


Dica

Também é possível enviar arquivos informando outros parâmetros de uma requisição "multipart/form-data", acesse a documentação do bloco Objeto para Form-Data para mais detalhes.

Saiba mais

No Cronapp, requisições REST também podem ser tratadas pela Fonte de dados, acesse a documentação Fonte de dados tipo Web Service (REST / SOAP) para mais detalhes.

Nesta página

Índice

Figura 4 - Tipos de conteúdo