Variável tipo Objeto

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
nilton579
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 05 Fev 2008 20:23
Localização: MANAUS
Contato:

Variável tipo Objeto

Mensagem por nilton579 »

Bom dia!!!

Estou tentando implementar um recurso para enviar requisições para uma API e os parâmetros em JSon exigem que as chaves sejam enviadas no formato OBJETO.
Tentei de várias formas, mas a resposta da API é como se o BODY chegasse vazio. Quando consulto o tipo da variável que criei, o sistema retorna como C (caracter) ou H (hash).
Alguém sabe como criar uma variável do tipo "O" (object) para enviar os parâmetros para uma API no formato JSon?
Seria algo tipo:
{
"numero":"559294167496",
"mensagem":"Enviando os documentos",
"pdf":"e:\estudo\documento.pdf"
}
O cabeçalho da requisição utiliza content-type multipart/form-data

Qualquer ajuda ou sugestão é muito bem-vinda.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Variável tipo Objeto

Mensagem por JoséQuintas »

Dê uma olhada aqui:

https://pctoledo.org/forum/viewto ... on#p141571

Mas acredito que o PDF precise ser enviado em formato base64, dê uma confirmada os manuais da API.
Estranho enviar endereço do PDF, mas.... a API é quem sabe... não existe padrão em webservice.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

Variável tipo Objeto

Mensagem por Claudio Soto »

Un objeto como tal (representación interna de un lenguaje) sólo tiene sentido para el lenguaje en cuestión y lo crea el compilador. Por ejemplo yo puedo crear un objeto en harbour que el compilador lo transforma en una codificación interna en binario pero no puedo acceder directo a el, lo mas que puedo acceder es a una representación del mismo. En el caso de un objeto json, el objeto como tal sólo tiene sentido internamente para el lenguaje que lo creó, lo que se puede hace es representarlo en una string.
Lo que se envía en http o entre un programa y otro es una string que representa ese objeto json, ej:

obj = { name: "John", age: 30, city: "New York" };

Esto es un objeto json en javascript, como tal se codifica internamente en binario y no lo puedo enviar así, lo que puedo enviar es un string con su representación:

'{"name":"John","age":30,"city":"New York"}'

Por lo tanto lo que tienes que enviar es un string representando el objeto.

Otro aspecto que puede ser el problema es que en Content-Type: multipart/mixed el "boundary" este en forma adecuada para que el servidor pueda recomponer el mensaje, ahí no te puedo ayudar porque nunca lo use y además el bondary es específico de cada programa.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Responder