Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [Asp.NET Core web api] Problema con controller

    ciao!

    sto creando una web api con asp net core.
    ho aggiunto un primo controller e funziona tutto:
    codice:
    namespace CimodaService2.Controllers
    {
        [ApiController]
        [Route("cr/[controller]")]
        public class AnagContiController : ControllerBase
        {
            private IConfiguration configuration { get; }
            private string connectionString;
    
            public AnagContiController(IConfiguration configuration)
            {
                this.configuration = configuration;
                connectionString = configuration.GetConnectionString("C4B");
                System.Diagnostics.Debug.WriteLine(connectionString);
            }
    
            // http://localhost:11055/cr/anagconti/clienti/5
            [HttpGet("clienti/{days}")]
            public IEnumerable<AnagConti> getByTipoConto(int days)
            {
                ......
            }
    
            // http://localhost:11055/cr/anagconti/conto/2
            [HttpGet("cliente/{conto}")]
            public IEnumerable<AnagConti> getByConto(string conto)
            {
                ......
            }
    
            // http://localhost:11055/cr/anagconti/sedi/6
            [HttpGet("sedi/{days}")]
            public IEnumerable<AnagConti> getSedi(int days)
            {
                .......
            }
    
            private IEnumerable<AnagConti> setList(string queryString, bool conv = false)
            {
                .......
            }
        }
    }
    poi ho creato un secondo controller, ma non risulta raggiungibile.
    nel senso che la pagina del browser rimane bianca, e i Debug non risultano nella finestra di output.
    ma non da neanche errore:
    codice:
    namespace CimodaService2.Controllers
    {
        [ApiController]
        [Route("cr/[controller]")]
        public class AssegController : ControllerBase
        {
            private IConfiguration configuration { get; }
            private string connectionString;
    
            public AssegController(IConfiguration configuration)
            {
                this.configuration = configuration;
                connectionString = configuration.GetConnectionString("C4B");
                System.Diagnostics.Debug.WriteLine(connectionString);
            }
    
            // http://localhost:11055/cr/asseg/C190-179/01-01-2019/20-02-2019
            [HttpGet("/{articolo}/{from}/{to}")]
            public IEnumerable<Asseg> getByArticoloData(string articolo, string from, string to)
            {
                System.Diagnostics.Debug.WriteLine(articolo);
    
                ..........
            }
    
            private IEnumerable<Asseg> setList(string queryString)
            {
                ......
            }
        }
    }
    qualche idea??

  2. #2
    a quanto pare il problema è qui:
    codice:
    [HttpGet("{articolo}/{from}/{to}")]
    se lo cambio così funziona:
    codice:
    [HttpGet("qualcosa/{articolo}/{from}/{to}")]
    ovviamente modificando anche l'url della richiesta.
    ma avrei necessità di non mettere quella voce in più.

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,709
    io vedo

    [HttpGet("/{articolo}/{from}/{to}")]


    con lo slash....

  4. #4
    Quote Originariamente inviata da djciko Visualizza il messaggio
    io vedo

    [HttpGet("/{articolo}/{from}/{to}")]


    con lo slash....
    si avevo provato a metterci lo slash.
    ma non funzionava.
    ho rilevato lo slash, e non funziona.


    ho fatto la pulizia e ricompilazione ed ha funzionato.


    la prox volta che riscontro un problema del genere, rifaccio la pulizia prima.

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,709
    comunque se guardi nella cartella App Start ci dovrebbe essere un file chiamato RouteConfig.cs, che dovrebbe evitare di decorare tutti i metodi uno ad uno

  6. #6
    Quote Originariamente inviata da djciko Visualizza il messaggio
    comunque se guardi nella cartella App Start ci dovrebbe essere un file chiamato RouteConfig.cs, che dovrebbe evitare di decorare tutti i metodi uno ad uno
    uhm, io la cartella App Start non ce l'ho nel progetto.....

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,709
    si, perche' hai fatto una webApi.
    Probabilmente c'e' solo nelle webApplication (che possono includere webApi)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.