Web API ASP .NET MVC - Trabalhando com parâmetros no body da requisição
Olá,
Estou com um problema que não consigo resolver e nem achar nada explicando para sanar minhas dúvidas. Em alguns cursos da DEVMEDIA vi que os professores ensinam a trabalhar com requisições http, usando os parâmetros na URL da requisição, porém quando trabalhamos com certos tipos de requisição, não usamos na URL os parâmetros e sim no corpo da solicitação (body form-data).
Como posso trabalhar dessa forma? Usando parâmetros from-data no body do meu post?
Em um dos cursos que fiz ensinam assim:
public NotesController()
{
client.BaseAddress = new Uri("teste.com.br");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}
// GET: RoboRCDP
public ActionResult Index()
{
int clienteProjeto = 85;
string token = "inserir_token_aqui";
var oModel = new List<RoboAws.DadosEmpresa>();
string parte1 = "/projeto/api";
HttpResponseMessage servidor =
oBase.GetAsync(string.Format("/auditorias//empresa?token=&listaContatos=", parte1, clienteProjeto, token, false)).Result;
if (servidor.IsSuccessStatusCode)
{
var oEmpresa = servidor.Content.ReadAsAsync<RoboAws.DadosEmpresa>().Result;
}
else
{
TempData["ErroConsultaAPI1"] = servidor.RequestMessage;
return RedirectToAction("About", "Home");
}
Vejam que todos os parâmetros estão sendo passados na URL, eu no caso precisava passar no tipo form-data e no body da requisição. Como faço?
Estou com um problema que não consigo resolver e nem achar nada explicando para sanar minhas dúvidas. Em alguns cursos da DEVMEDIA vi que os professores ensinam a trabalhar com requisições http, usando os parâmetros na URL da requisição, porém quando trabalhamos com certos tipos de requisição, não usamos na URL os parâmetros e sim no corpo da solicitação (body form-data).
Como posso trabalhar dessa forma? Usando parâmetros from-data no body do meu post?
Em um dos cursos que fiz ensinam assim:
public NotesController()
{
client.BaseAddress = new Uri("teste.com.br");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}
// GET: RoboRCDP
public ActionResult Index()
{
int clienteProjeto = 85;
string token = "inserir_token_aqui";
var oModel = new List<RoboAws.DadosEmpresa>();
string parte1 = "/projeto/api";
HttpResponseMessage servidor =
oBase.GetAsync(string.Format("/auditorias//empresa?token=&listaContatos=", parte1, clienteProjeto, token, false)).Result;
if (servidor.IsSuccessStatusCode)
{
var oEmpresa = servidor.Content.ReadAsAsync<RoboAws.DadosEmpresa>().Result;
}
else
{
TempData["ErroConsultaAPI1"] = servidor.RequestMessage;
return RedirectToAction("About", "Home");
}
Vejam que todos os parâmetros estão sendo passados na URL, eu no caso precisava passar no tipo form-data e no body da requisição. Como faço?
Andrew Marques
Curtidas 0
Respostas
Stella Oliveira
31/03/2019
Olá,
Estou com um problema que não consigo resolver e nem achar nada explicando para sanar minhas dúvidas. Em alguns cursos da DEVMEDIA vi que os professores ensinam a trabalhar com requisições http, usando os parâmetros na URL da requisição, porém quando trabalhamos com certos tipos de requisição, não usamos na URL os parâmetros e sim no corpo da solicitação (body form-data).
Como posso trabalhar dessa forma? Usando parâmetros from-data no body do meu post?
Em um dos cursos que fiz ensinam assim:
public NotesController()
{
client.BaseAddress = new Uri("teste.com.br");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}
// GET: RoboRCDP
public ActionResult Index()
{
int clienteProjeto = 85;
string token = "inserir_token_aqui";
var oModel = new List<RoboAws.DadosEmpresa>();
string parte1 = "/projeto/api";
HttpResponseMessage servidor =
oBase.GetAsync(string.Format("/auditorias//empresa?token=&listaContatos=", parte1, clienteProjeto, token, false)).Result;
if (servidor.IsSuccessStatusCode)
{
var oEmpresa = servidor.Content.ReadAsAsync<RoboAws.DadosEmpresa>().Result;
}
else
{
TempData["ErroConsultaAPI1"] = servidor.RequestMessage;
return RedirectToAction("About", "Home");
}
Vejam que todos os parâmetros estão sendo passados na URL, eu no caso precisava passar no tipo form-data e no body da requisição. Como faço?
Estou com um problema que não consigo resolver e nem achar nada explicando para sanar minhas dúvidas. Em alguns cursos da DEVMEDIA vi que os professores ensinam a trabalhar com requisições http, usando os parâmetros na URL da requisição, porém quando trabalhamos com certos tipos de requisição, não usamos na URL os parâmetros e sim no corpo da solicitação (body form-data).
Como posso trabalhar dessa forma? Usando parâmetros from-data no body do meu post?
Em um dos cursos que fiz ensinam assim:
public NotesController()
{
client.BaseAddress = new Uri("teste.com.br");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}
// GET: RoboRCDP
public ActionResult Index()
{
int clienteProjeto = 85;
string token = "inserir_token_aqui";
var oModel = new List<RoboAws.DadosEmpresa>();
string parte1 = "/projeto/api";
HttpResponseMessage servidor =
oBase.GetAsync(string.Format("/auditorias//empresa?token=&listaContatos=", parte1, clienteProjeto, token, false)).Result;
if (servidor.IsSuccessStatusCode)
{
var oEmpresa = servidor.Content.ReadAsAsync<RoboAws.DadosEmpresa>().Result;
}
else
{
TempData["ErroConsultaAPI1"] = servidor.RequestMessage;
return RedirectToAction("About", "Home");
}
Vejam que todos os parâmetros estão sendo passados na URL, eu no caso precisava passar no tipo form-data e no body da requisição. Como faço?
Ei, para usar no body basta fazer da seguinte forma (Exemplo - Post Usuário):
[HttpPost] public ActionResult<string> PostUsuario([FromBody] Usuario usuario) { if (usuario == null) return BadRequest("Dados informados inválidos."); return Ok("Dados lidos com sucesso !"); }
No caso o seu JSON tem que vir da seguinte forma no body:
Usuario { "nome": "Stella Oliveira", "cpf": "00000000000" }
GOSTEI 0
Rodrigo
31/03/2019
Olá,
Estou com um problema que não consigo resolver e nem achar nada explicando para sanar minhas dúvidas. Em alguns cursos da DEVMEDIA vi que os professores ensinam a trabalhar com requisições http, usando os parâmetros na URL da requisição, porém quando trabalhamos com certos tipos de requisição, não usamos na URL os parâmetros e sim no corpo da solicitação (body form-data).
Como posso trabalhar dessa forma? Usando parâmetros from-data no body do meu post?
Em um dos cursos que fiz ensinam assim:
public NotesController()
{
client.BaseAddress = new Uri("teste.com.br");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}
// GET: RoboRCDP
public ActionResult Index()
{
int clienteProjeto = 85;
string token = "inserir_token_aqui";
var oModel = new List<RoboAws.DadosEmpresa>();
string parte1 = "/projeto/api";
HttpResponseMessage servidor =
oBase.GetAsync(string.Format("/auditorias//empresa?token=&listaContatos=", parte1, clienteProjeto, token, false)).Result;
if (servidor.IsSuccessStatusCode)
{
var oEmpresa = servidor.Content.ReadAsAsync<RoboAws.DadosEmpresa>().Result;
}
else
{
TempData["ErroConsultaAPI1"] = servidor.RequestMessage;
return RedirectToAction("About", "Home");
}
Vejam que todos os parâmetros estão sendo passados na URL, eu no caso precisava passar no tipo form-data e no body da requisição. Como faço?
Estou com um problema que não consigo resolver e nem achar nada explicando para sanar minhas dúvidas. Em alguns cursos da DEVMEDIA vi que os professores ensinam a trabalhar com requisições http, usando os parâmetros na URL da requisição, porém quando trabalhamos com certos tipos de requisição, não usamos na URL os parâmetros e sim no corpo da solicitação (body form-data).
Como posso trabalhar dessa forma? Usando parâmetros from-data no body do meu post?
Em um dos cursos que fiz ensinam assim:
public NotesController()
{
client.BaseAddress = new Uri("teste.com.br");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}
// GET: RoboRCDP
public ActionResult Index()
{
int clienteProjeto = 85;
string token = "inserir_token_aqui";
var oModel = new List<RoboAws.DadosEmpresa>();
string parte1 = "/projeto/api";
HttpResponseMessage servidor =
oBase.GetAsync(string.Format("/auditorias//empresa?token=&listaContatos=", parte1, clienteProjeto, token, false)).Result;
if (servidor.IsSuccessStatusCode)
{
var oEmpresa = servidor.Content.ReadAsAsync<RoboAws.DadosEmpresa>().Result;
}
else
{
TempData["ErroConsultaAPI1"] = servidor.RequestMessage;
return RedirectToAction("About", "Home");
}
Vejam que todos os parâmetros estão sendo passados na URL, eu no caso precisava passar no tipo form-data e no body da requisição. Como faço?
Tenho um pacotão de ferramentas, hospeda no NuGet.org.
Duas dessas ferramentas pode ser que resolva o seu problema.
Mas antes de instalar você pode ver a documentação em https://abreusolutions.blogspot.com.
RequestApi (Content-Type: "application/json");
RequestApi (Content-Type: "multipart/form-data; boundary=...");
A e o pacotão é totalmente gratuito.
GOSTEI 0