Body JSON
Pra criar algo (POST), você manda os dados no body da requisição, em JSON, e avisa o
formato no header Content-Type: application/json.
curl -X POST https://api-murder.rafaeltoshiba.com.br/api/v1/notebook \
-H "X-Detective-Key: $DK" \
-H "Content-Type: application/json" \
-d '{"text": "Carro vermelho, placa começa com RVA", "tags": ["pista"]}'
No PowerShell, as aspas do JSON quebram de jeitos diferentes conforme a versão. O jeito que sempre funciona é salvar o body num arquivo:
'{"text": "Carro vermelho, placa RVA", "tags": ["pista"]}' | Out-File -Encoding ascii nota.json
curl.exe -X POST https://api-murder.rafaeltoshiba.com.br/api/v1/notebook `
-H "X-Detective-Key: $env:DK" -H "Content-Type: application/json" --data "@nota.json"
Três erros diferentes, três lições:
| Status | Erro | O que aconteceu |
|---|---|---|
| 415 | unsupported_media_type |
faltou Content-Type: application/json |
| 400 | malformed_json |
o JSON está quebrado (aspas, vírgula, chave) |
| 422 | validation_failed |
o JSON está certo, mas um campo está faltando ou errado |