none
Web API C# POST RRS feed

  • Pergunta

  • Pessoal,
    Estou tendo um problema com o método POST da WebAPI que estou desenvolvendo, questão de conhecimento apenas:

    Na classe ValuesController realizei os testes com métodos Get apenas para abrir uma conexao com o banco de dados e retornar se foi realizada, o código ficou assim:

    using Microsoft.AspNetCore.Mvc;
    using Application.WebApi.Estudo.Infraestrutura.Configuracao;
    
    namespace Application.WebApi.Estudo.Controllers
    {
        [Route("api/Conexao")]
        public class ValuesController : Controller
        {
            [Route("Teste/{id}")]
            [HttpGet("{id}", Name = "Teste")]
            public string Get(int id)
            {
                ConexaoBD conexao = new ConexaoBD();
                var connect = conexao.Conectar();
                connect.Open();
    
                if (connect.State == System.Data.ConnectionState.Open)
                {
                    connect.Close();
                    return "Conexao Aberta";
                }
                else
                    return "Conexao Errada";
            }
    
            [Route("Verifica/{id}")]
            [HttpGet("{id}", Name = "Verifica")]
            public string GetVerifica(int id)
            {
                ConexaoBD conexao = new ConexaoBD();
                var connect = conexao.Conectar();
                connect.Open();
    
                if (connect.State == System.Data.ConnectionState.Open)
                {
                    connect.Close();
                    return "Conexao Aberta";
                }
                else
                    return "Conexao Errada";
            }
        }
    }

    Posteriormente, adicionei uma outra controladora com o método POST dessa vez, chamava a camada de aplicação que por sua vez chamava a serviço de dominio, entretanto quando disparo a requisição não chega nem na controladora, poderiam me ajudar?
    Código abaixo:

    using Microsoft.AspNetCore.Mvc;
    using Aplication.WebApi.Estudo.Dominio.Entidades;
    using Application.WebApi.Estudo.Aplicacao.Contrato;
    
    namespace Application.WebApi.Estudo.Controllers
    {
        [Route("api/ClientePessoaFisica")]
        public class ClientePessoaFisicaController : Controller
        {
            private readonly IClientePessoaFisicaAplicacao _clienteAplicacao;
    
            public ClientePessoaFisicaController(IClientePessoaFisicaAplicacao clienteAplicacao)
            {
                _clienteAplicacao = clienteAplicacao;
            }
    
            [HttpPost, Route("RegisterPerson")]
            public ClientePessoaFisica InputRegisterPerson([FromBody] ClientePessoaFisica cliente)
            {
                return _clienteAplicacao.Cadastrar(cliente);
            }
        }
    }

    Aguardo

    Obrigado desde já.

    sexta-feira, 11 de agosto de 2017 01:47

Respostas

  • Rafael, 
    Me desculpe a grande demora, 
    Descobri que é no construtor, sendo assim creio que a injeção de depêndencia foi montada de maneira errada.

    Vou verificar e quaiquer dúvidas estarei passando aqui, estou usando o Ninject como injetor.
    quinta-feira, 17 de agosto de 2017 14:32

Todas as Respostas

  • Boa noite, Brian,

    Como está fazendo a chamada? PostMan, SoapUI ou de outra aplicação? Que erro está recendo ao fazer a chamada?


    ​Rafael Esquiçato Professional Scrum Master MCP, MCTS

    sexta-feira, 11 de agosto de 2017 02:24
  • Rafael,

    Bom dia, estou realizando a chamada via SoapUI e PostMan, não apresenta erro em nenhuma das aplicações.

    Entretanto não ocorre a chamada

    Seto o POST nas aplicações

    {

           "Nome": "Brian",

           "Status": "Ativo"

    }

    sexta-feira, 11 de agosto de 2017 14:00
  • Brian,

    Me refiro na verdade a resposta do PostMan, exemplo (aba de baixo):


    


    ​Rafael Esquiçato Professional Scrum Master MCP, MCTS

    sexta-feira, 11 de agosto de 2017 22:13
  • Rafael, 
    Me desculpe a grande demora, 
    Descobri que é no construtor, sendo assim creio que a injeção de depêndencia foi montada de maneira errada.

    Vou verificar e quaiquer dúvidas estarei passando aqui, estou usando o Ninject como injetor.
    quinta-feira, 17 de agosto de 2017 14:32