Jump to content
rdavisp

ASP.NET Core API para acesso a mais de uma apicação em Angular

Recommended Posts

Senhores, bom dia.

Mais uma vez recorro a ajuda de vocês para algo que não domino ainda. Vamos lá!

Tenho uma API que quando startada, ela sobe no seguinte endereço: http://localhost:49013/api/values. Percebi que isto é parametrizado no arquivo launchSettings.json, que está assim:

 

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:49013/",
      "sslPort": 0
    }
  },
  "profiles": 
  {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "api/values",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "Cliente.IG.WebAPI": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "api/values",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://localhost:49012/"
    }
  }
}

 

No meu controller da API, tenho seguinte método dentro do namespace:

 

    [Produces("application/json")]
    [Route("api/IG")]
    [ApiController]
    public class IGController : Controller
    {
        [HttpPost]
        public IGResult Post([FromBody] Filtro filtro)
        {
            var app = new IgApplication();
            return app.getInstrucoes(filtro);
        }
    }

 

O "IgApplication" cria uma instância da classe onde é gerado uma lista que é populada com os valores atribuídos do DAO.

 

Quando inicializo a aplicação "A" em angular através do localhost (http://localhost:4200/). Dentro do meu arquivo environment.prod.ts tenho a chamada:

 

export const environment = {
  production: true,
  url: 'http://localhost:49013/'
};

 

Ela passa por esse controller e segue o fluxo e faz o que tem que ser feito. 

Porém, eis a questão! Eu possuo a aplicação "B", que acessa a mesma API porém possui funcionalidades diferente, por isso, dentro do mesmo controller eu criei uma nova classe e um método:

 

    [Produces("application/json")]
    [Route("api/Item")]
    public class APIIgItemController : Controller
    {
        [HttpGet]
        public ItensResult Post([FromBody] Itens ValorItem)
        {
            var app = new CRUDApplication();
            return app.GetItens();
        }
    }

 

Como faço para quando for startar a aplicação "B", ele passe por esse método "ItensResult" ao invés "IGResult", sendo que ambas são executadas pelo localhost:4200? Ou isso eu defino na aplicação angular? Vi que é possível configurar mais de uma "applicationUrl" dentro do json. Devo considerar essa configuração?

 

Grato a quem puder ajudar!

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By isaque_cb2
      Boa noite! gente, eu estou tentando colocar alguma forma de pagamentos no meu app, no caso para que o usuario possa adicionar credito ao mesmo, eu estou fazendo isso com a api da JUNO, porem, tambem quero adicionar PIX como forma de pagamento pois não saio do zero com a juno! alguem aqui ja usou PIX com android studio e pode me explicar como fazer? ja busquei por aulas e tutoriais e nada... Grato!
    • By biakelly
      Oi,
       
       tenho uma dúvida
       
      Chamo em minha página logo no início um cache chamado: colegioprimor.cache que estou rodando em um cron a cada 1 minuto com este código:
      <?php $cachecolegioprimor = 'colegioprimor.cache'; $colegioprimorcache = file_get_contents($cachecolegioprimor); $colegioprimorcache = json_decode($colegioprimorcache, true); ?>  
      No index chamo uma parte deste cache para apresentar uma informação do aluno que é a entrada dele pela catraca, sendo assim fiz desta forma:
      <h5><?= number_format($colegioprimorcache['aluno']['catraca'], 2); ?></h5>  
      O valor aparece certinho, mas para ter atualizado tenho que ficar dando refresh.
      Não gostaria de ficar dando refresh na página. É possível atualizar somente este valor dinamicamente?
    • By myLipe
      Bom noite, estou começando com web API. Estou usando asp.net Core web API (visual studio 2019) com base de dados MySQL e está funcionando bem no meu local host.
      No entanto, eu quero colocar essa API a rodar no alojamento do meu site para que possa conectar à base de dados da minha loja online. Fiz o Publish, copiei a pasta para o servidor remoto via FTP, e agora? Testei o mesmo URL trocando localhost;xxxxx/API/.... para www.yyyyy.zz/API/... mas não dá nada. Diz que não encontra a página. Tenho de configurar alguma coisa no cPanel, o endereço é diferente...?
      Obrigado pela vossa preciosa ajuda.
    • By jsbatis
      mano espero que vocês possam me ajudar.... Tipo eu estava pensando em um exercício de programação do meu curso é +/-  assim: "Calculadora que não tem menu, ela ira identificar a operação sozinha".
      tipo nossa calculadora de celular que mostra a resposta após pressionar "=".
       
      porém eu não cheguei a uma conclusão... fique entre os seguintes comandos(do portugol):
      faça enquanto.
      escolha:
      caso 1.
      se.
       
      depois disso eu não consegui resolver! meu instrutor disse que teria que usar "caracter", porem mesmo assim eu não consegui.
      qualquer ajuda vai ser de grande valor, Valeu.

    • By nelinhor
      Bom dia.
      Professor ( José Carlos Macoratti ) Sempre vejo alguns video do Senhor.
      Estou fazendo um pequeno aplicativo no Visual Studio 2019.
      Para fazer um controle de equipamentos e outros mais. Com geração de QRCode mais estou tendo alguma dificuldades, gostaria de saber se o senhor pode me ajudar?
      1 - Estou que rendo fazer no formate de gerar um relatorio um Locate ou um like dentro de um Select usando where e o like mais está dando erro.
           A minha Base de Dados é Access.
          Relatorio RDLC 
          Estou usando está Select:
          SELECT idaluno,nomealuno,responsavel,cpf,rg,fone_contato,desistente 
          FROM aluno 
          WHERE nomealuno LIKE '%' +@nomealuno+ '%'

          Obs: Estou tentando ver se isso funciona no BOTÃO para a buscar do que for lançado no Textbox.

          Mais este Select não fuciona quando vou testar na criação dentro da tabela quando eu a crio. o select.
       
      2 - Estou criando um relatório para ir buscar na Base de Dados o campo imagem, para formar o relatório das etiquetas que está em QrCode
           Mais etornando na coluna do relatório o nome erro
           Tem como o senhor me ajudar.
      Outra pergunta não sei se o senhor usa este RDLC que usamos o componente Report Viewer ele tem uma opção de Salvar em três formatos EXCEL, WORD e PDF mais a opção PDF da um erro na hora de gerar o PDF.
      Não sou programador, sou uma pessoa curiosa.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.