@Body
Captura body JSON da requisicao. Conversao automatica pra JsonObject. Use em POST/PUT com payload.
Assinatura: oBody := oRequest:getJsonBody()
Retorna: JsonObject
Body JSON e capturado via getJsonBody(). Retorna JsonObject pronto pra ler campos.
@Post("/api/v1/pedidos")
function CriaPedido()
Local oBody := oRequest:getJsonBody()
Local cCliente := oBody:getJsonObject("cliente")
Local nValor := oBody:getJsonObject("valor")
Local oItens := oBody:getJsonArray("itens")
For i := 1 To oItens:Size()
Local oItem := oItens:Get(i)
ConOut("Produto: " + oItem["produto"])
Next
return
Pegadinhas
- Body so pode ser lido 1 vez — cache em variavel.
- JSON malformado lanca excecao — use try/catch.
- Tamanho maximo configurado em appserver.ini.