Fórum IdHttp1.Post para enviar um novo cadastro - E para atualizar? #444754

04/06/2013

0

Boa tarde!

Estou fazendo uma integração via REST SERVER, para criar um novo item no cadastro estou usando IdHttp1.Post e funciona perfeitamente, para atualizar esse cadastro como fazer? Estou indo pelo .Put mas pelo que vi só serve para arquivo.

No aguardo com urgência.
Lorival Filho

Lorival Filho

Responder

Posts

05/06/2013

M. C.

Boa tarde!

Estou fazendo uma integração via REST SERVER, para criar um novo item no cadastro estou usando IdHttp1.Post e funciona perfeitamente, para atualizar esse cadastro como fazer? Estou indo pelo .Put mas pelo que vi só serve para arquivo.

No aguardo com urgência.


Você passa os parametros na URL normamente da mesma forma que você usa para inserir, daí apontando para um script de "update". Se preferir passa um parametro na URL informando o que o seu "post" deverá fazer... incluir ou alterar. Entendeu?


Responder

Gostei + 0

05/06/2013

Diego Garcia

Amigo, na verdade, o PUT seria para inserir dados e o POST para atualizar, porem, em um servidor REST que trabalho, utilizo o POST para ambas situações, obviamente que possuo um tratamento especial dentro do método remoto.
Responder

Gostei + 0

05/06/2013

Diego Garcia

olha, achei esse link que tem um ponto de vista diferente do meu, mas é muito interessante, vale a pena dar uma lida: http://gc.blog.br/2007/07/02/post-vs-put-quem-insere-e-quem-altera/
Responder

Gostei + 0

05/06/2013

Lorival Filho

O Servidor que estou conectando está o POST para inserir e o PUT para atualizar.

Mas consegui resolver, para PUT fiz da seguinte maneira:

var
variaveis : TStringList;
Params: TStringStream;
begin
variaveis := TStringList.Create;
try

variaveis.Add('descricao=' + edtFamDescricao.Text);
variaveis.Add('ativo=' + edtFamAtivo.Text);

IdHttp1.Request.ContentType := 'application/x-www-form-urlencoded';
Edit1.text := 'http://servidorapi/familias/codigo/'+edtFamCodigo.Text;

Params := TStringStream.create('');
Params.WriteString(EncodeUrl('descricao=' + edtFamDescricao.Text + '&'));
Params.WriteString(EncodeUrl('ativo=' + edtFamAtivo.Text));

// IdHttp1.Request.ContentType := 'xml';
memo1.Text := IdHttp1.Put(Edit1.text, Params );

finally

variaveis.free;

end;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar