IdHttp1.Post para enviar um novo cadastro - E para atualizar?
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.
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
Curtidas 0
Respostas
M. C.
04/06/2013
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.
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?
GOSTEI 0
Diego Garcia
04/06/2013
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.
GOSTEI 0
Diego Garcia
04/06/2013
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/
GOSTEI 0
Lorival Filho
04/06/2013
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;
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;
GOSTEI 0