Eu tenho um objeto, e desejo passar ele para uma api atreves do metodo "POST", atualmente eu uso "KeyValuePair", Atributo por atributo, sendo que eu tenho o objetoJson não existe uma forma de eu passar o objeto diretamente pra api?
Eu tenho um objeto, e desejo passar ele para uma api atreves do metodo "POST", atualmente eu uso "KeyValuePair", Atributo por atributo, sendo que eu tenho o objetoJson não existe uma forma de eu passar o objeto diretamente pra api?
Boa noite, meu xará! Como vai?
Se no seu código vc já tem um objeto JavaScript com as informações que vc quer passar para a API, então basta que vc crie um JSON a partir do método JSON.stringify()
da seguinte forma:
const objetoJS = {
chave1: 'valor 1',
chave2: 'valor 2',
chave3: 'valor 3',
chave4: 4
};
const json = JSON.stringify(objetoJS);
Feito isso, basta enviar o conteúdo da constante json
criada na última linha do código.
Pegou a ideia? Qualquer coisa é só falar!
Grande abraço e bons estudos, meu aluno!
Eu esqueci de falar que estou usando xamarin (c#) o metodo que estou criando é esse
public async Task POSTContaClienteItem(ContaClienteItem contaClienteItem)
{
using (var cliente = new HttpClient())
{
var camposFormulario = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("COI_Quantidade", Convert.ToString(contaClienteItem.Produto.Quantidade)),
new KeyValuePair<string, string>("COI_PRD_IdProduto", Convert.ToString(contaClienteItem.Produto.Id)),
new KeyValuePair<string, string>("COI_COC_IdContaCliente", Convert.ToString(contaClienteItem.ContaCliente.Id)),
new KeyValuePair<string, string>("COI_DataCadastro", Convert.ToString(DateTime.Now))
});
HttpResponseMessage resultado = null;
cliente.BaseAddress = new Uri("http://192.168.0.37:64750/api/CONTA_CLIENTE_ITEM");
try
{
resultado = await cliente.PostAsync("", camposFormulario);
}
catch
{
MessagingCenter.Send<serverCOIExeption>(new serverCOIExeption("Erro de comunicação com o servidor"), "falhaPostContaClienteItem");
}
if (resultado.IsSuccessStatusCode)//Sucesso na autenticação
{
var conteudoResultado = await resultado.Content.ReadAsStringAsync(); //Ler o resultado http em string
// var resultadoConversao = JsonConvert.DeserializeObject<ResultadoLogin>(conteudoResultado);
//MessagingCenter.Send<Usuario>(resultadoConversao.usuario, "SucessoLogin");
}
}
}
Opa, Gabriel!
sendo que eu tenho o objetoJson...
Quando vc diz que já tem um objeto json se refere ContaClienteItem contaClienteItem
que vc está recebendo como parâmetro? Ou à uma string que representa os dados que vc quer enviar?