Ao conduzir testes de API, dados JSON são comumente empregados para transmissão de dados. Dado que o cURL é uma ferramenta padrão de linha de comando para testes de API, surge a pergunta: Como enviar dados JSON usando um comando cURL? Este artigo o guia pelo processo de envio de dados JSON usando o comando cURL.
O que é cURL?
cURL
(abreviação de Client for URLs) é uma ferramenta de linha de comando e biblioteca para transferir dados com URLs. Suporta uma ampla gama de protocolos, incluindo HTTP, HTTPS, FTP, FTPS, SCP, SFTP, LDAP, LDAPS, DICT, TELNET, FILE, e mais.

cURL
é amplamente utilizado na comunidade de desenvolvimento e script para fazer solicitações HTTP, baixar ou enviar arquivos e interagir com vários serviços de rede.
A sintaxe básica para usar cURL
é:
bashCopy code
curl [opções] [URL...]
Aqui estão algumas opções comuns:
-X
: Especifica o método HTTP (GET, POST, PUT, DELETE, etc.).-H
: Adiciona cabeçalhos personalizados à solicitação.-d
: Envia dados no corpo da solicitação (usado para solicitações POST).-o
: Escreve a saída em um arquivo.-O
: Baixa o arquivo e usa o nome do arquivo remoto.-L
: Segue redirecionamentos.-u
: Fornece um nome de usuário e senha para autenticação.
O que é JSON?
JSON, que significa JavaScript Object Notation, é um formato de intercâmbio de dados leve. É fácil de ler e escrever para humanos e fácil de analisar e gerar para máquinas. Os dados JSON são representados como pares de chave-valor, semelhante a como objetos são representados em muitas linguagens de programação.
Os dados JSON consistem em duas estruturas:
- Objeto: Uma coleção desordenada de pares de chave-valor delimitados por chaves
{}
. Cada chave é uma string, seguida por dois-pontos e, em seguida, o valor associado. - Array: Uma lista ordenada de valores delimitados por colchetes
[]
. Os valores dentro de um array podem ser de qualquer tipo de dado, incluindo objetos e arrays.
Aqui está um exemplo de dados JSON simples:
{
"title": "O Apanhador no Campo de Centeio",
"author": "J.D. Salinger",
"publishedYear": 1951,
"isAvailable": true,
"genres": ["Ficção", "Coming-of-age"]
}
Neste exemplo:
- O objeto JSON representa um livro com atributos como
title
,author
,publishedYear
, eisAvailable
. - O campo
genres
é um array de strings representando os gêneros do livro.
O que é a Solicitação POST?
Uma solicitação POST é um método de solicitação HTTP usado para enviar dados a um servidor para processamento. Os dados são incluídos no corpo da solicitação, em vez de na URL. Solicitações POST são comumente usadas para enviar formulários da web, criar novos recursos no servidor e modificar dados existentes.

Usando cURL para POSTar Dados JSON
Para usá-lo para POSTar dados JSON, você pode seguir estas etapas usando o exemplo de JSON que você forneceu:
Aqui está como você pode usar cURL
para fazer uma solicitação POST com esses dados JSON:
curl -X POST -H "Content-Type: application/json" -d @book.json http://example.com/api/books
Deixe-me detalhar o comando:
-X POST
: Especifica o método de solicitação HTTP como POST.-H "Content-Type: application/json"
: Define o cabeçalhoContent-Type
para indicar que o corpo da solicitação está em formato JSON.-d @book.json
: Envia os dados do arquivobook.json
no corpo da solicitação.http://example.com/api/books
: Substitua isso pela URL real onde você deseja enviar a solicitação POST.
Certifique-se de substituir http://example.com/api/books
pelo endpoint real onde você deseja enviar a solicitação POST.
Se você não tiver os dados em um arquivo e quiser enviá-los diretamente no comando, você pode fazer algo como isto:
curl -X POST -H "Content-Type: application/json" -d '{"title":"O Apanhador no Campo de Centeio","author":"J.D. Salinger","publishedYear":1951,"isAvailable":true,"genres":["Ficção","Coming-of-age"]}' http://example.com/api/books
Este comando inclui os dados JSON diretamente no comando usando a opção -d
. Novamente, substitua a URL pelo endpoint real com o qual você está trabalhando.
Forma Fácil de Enviar Dados JSON com Apidog
Enviar dados JSON sem esforço é crucial para um uso fluido da API. Enquanto usuários com conhecimento técnico podem lidar com a linha de comando cURL, pode ser complicado para outros. Apidog intervém com uma interface amigável, facilitando para todos.
A interface do Apidog simplifica todo o processo. Os usuários podem facilmente escolher o método HTTP e o formato de dados.

Apidog brilha com seu conjunto completo de recursos, lidando com tudo, desde design de API até testes. É uma ferramenta completa para tudo relacionado à API, seja você criando ou corrigindo-as.
Enviar JSON com o Apidog é fácil. Basta escolher POST, ir para a guia Corpo, selecionar JSON e inserir seus dados. O Apidog pula as linhas de comando complexas, permitindo que os usuários insiram JSON diretamente. É perfeito para qualquer um que trabalhe com API, não importa seu nível de conhecimento técnico ou experiência com ferramentas como cURL.
