Enviar array em post via fwrest com multipart

Bom dia

Tenho que retornar um array em um post.

Utilizo FwRest.

No teste via Insomnia eu coloco multipart e está ok.

Segue trecho que estou utilizando, mas sem o resultado esperado.

Aadd(aHeader2, 'Content-Type: multipart/form-data') oRest2:SetPath('/wp-json/api/aprovados/importados')

jimportados := Jsonobject():New()

jimportados['candidatos'] := { "2828" }

oRest2:SetPostParams( jimportados:ToJson() )

//cPostParms := 'candidatos[]="2828"' //oRest2:SetPostParams(cPostParms)

lResult := oRest2:Post( aHeader, jimportados:ToJson()) cResultado2 := oRest2:GetResult() conout(cResultado2)

Solução que encontrei, vamos lá:

1) FwRest não está preparada para MultiPart/form-data

2) Somente é possível via HttpPost

3) cPostParms precisa ser conforme abaixo:

cPostParms := ' Content-Disposition: form-data; name="candidatos[]" '

cPostParms += CHR(13)+CHR(10)

cPostParms += CHR(13)+CHR(10)

cPostParms += '2828'+CHR(13)+CHR(10)

Ou seja, precisa pular 2 linhas antes de informar o conteúdo do array

’ Content-Disposition: form-data; name=“candidatos” ’

Boa tarde!

Conversando com o pessoal responsável pela classe FWRest, a mesma já possui o HttpPost encapsulada. Estava com o mesmo problema e conseguir resolver dessa forma.

aHeader := {"Content-Type: multipart/form-data"}

oRest := FWRest():New("Seu Endpoint")

oRest:SetPostParams(cBody)

oRest:Post(aHeader)

O cBody precisa ser no mesmo formato utilizada na documentação: https://tdn.totvs.com/display/tec/HTTPPost.

Exemplo:

cBody += 'Content-Disposition: form-data; name="Key"' + CHR(13)+CHR(10) + CHR(13)+CHR(10)

cBody += 'Value' + CHR(13)+CHR(10)

Observação: O Key precisa sempre ter duas quebras de linhas e o value uma quebra