Passagio dati complessi tra una ASP.NET webapi e Angular

PazzoFrontEnd

Utente Attivo
8 Ott 2013
46
0
6
Buongiorno,
chiedo scusa anticipatamente se ho sbagliato sezione, ma non sapevo se postarla qui o in javascript.
Sto creando una web app dove la parte server è in asp.net core e la parte client in angular 7-8. Spiego l'applicazione brevemente: essa si occupa di interfacciarsi con il DB per vari motivi e nello specifico il mio problema sorge quando sulla pagina web inserisco in un campo di testo una query (esempio SELECT top 100 * from pippo) e cliccando su un bottone un servizio Angular si occupa di chiamare una webapi che mi deve restituire una IEnumerable<Dictionary<string, object> passandogli un oggetto complesso:

Codice:
       [HttpPost]
       //[Authorize]
       public async Task<IEnumerable<Dictionary<string, object>>> ExecuteQuery([FromBody]  queryParameter parameter)
       {
           DataTable dt = await new DAL(_cfg).ExecuteQuery(parameter.BusinessItem, parameter.Query);

           List<Dictionary<string, object>> result = new List<Dictionary<string, object>>();

           Dictionary<string, object> item = null;

           foreach (DataRow dr in dt.Rows)
           {
               foreach (DataColumn dc in dt.Columns)
               {
                   item.Add(dc.ColumnName, dr[dc]);
               }

               result.Add(item);
           }

           return result;
       }

La result del metodo mi deve restituire una List<Dictionary<NomeColonna, RigaDatabase>> in base query passata nell'oggetto complesso come parametro (insieme ad altre cose). Il tutto mi serve per popolare una tabella html sulla mia pagina web.

Il problema sorge in Angular. Come faccio a restituire un Observable che mi mappi il Dictionary della mia webapi?

Codice:
 executeQuery(parameter: QueryParameter): Observable<????> {
       return this.http.post<????>('api/main/ExecuteQuery', parameter);
 }

Chiaramente sarà poi compito del mio componente fare una subscribe e popolare una variabile oggetto per popolare la tabella. Qualcuno può aiutarmi? Ho seri problemi a capire come chiudere il cerchio. Grazie mille e buona giornata
 

Rikk73

Utente Attivo
7 Apr 2015
141
6
18
Arezzo
Credo che la soluzione più veloce in questo caso (ma non la più "bella") sarebbe quella di utilizzare il tipo any per l'Observable, questo ti permette poi nel componente/html di utilizzare i nomi di proprietà in-line scrivendo praticamente quelli che vuoi.

La soluzione bella sarebbe quella di fare un viewmodel (sia lato API che lato Angular) e far restituire quello dalle API, quindi poi avrai un Observable<TuoViewModel[]>
 
Discussioni simili
Autore Titolo Forum Risposte Data
S ComboBox, radioButton, CheckBox...passagio dati FLASH-PHP!!! Flash 0
C scritta fastidiosa al passagio del mouse su un link HTML e CSS 8
L Problema con passagio variabile Flash 1
P tabella cambia sfondo al passagio del mouse HTML e CSS 1
max75 query su due tabelle e dati doppioni MS Access 2
K Form che manda dati doppi PHP 1
T problemi con dati menu a tendina HTML e CSS 2
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
D Risultati diversi elaborazione dati fra localhost e Altervista PHP 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
peppe0703 Come Estrarre dati da db wordpress e richiamarli in html esterno HTML e CSS 0
V dati scomparsi dal sito HTML e CSS 3
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
A Stampare dati da form PHP 8
E Estrarre dati da doppia tabella, banale ma non sempre PHP 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
F Scrivere dei dati in word con php PHP 0
otto9due $_FILE non passa i dati dal form PHP 1
N dati tabella non presi PHP 1
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
I Assegnare dati fetch request ad una variabile globale Javascript 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
L Ricezione dei dati su file php da modulo html PHP 6
L inserimento form dati multipli ? PHP 0
S Leggere dati da API e visualizzarli PHP 0
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
A invio massivo dati a file php Javascript 4
M Inviare dati nel db dopo risposta alert PHP 0
A recuperare i dati passati nel post PHP 1
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
F Leggere e aggiornare dati di campi <input text> su file di test PHP 0
J Form inserimento dati in database Ajax 1
D Recupero dati da HDD esterno Hardware 0
L non duplicare dati in stato "aggiornamento" PHP 6
L inserire dati multi livello PHP 8
L input (rilevare cambio dati) PHP 3
L input dati con inser into select ? PHP 4
W Invio Dati ad un altra pagina Classic ASP 1
A Mostrare dati database per pagine PHP 2
Samuele Ronzani Sposta dati in una tabella eliminandolo MySQL 6
S Gestire scelta dropdown con dati da Mysql PHP 2
C Estrarre dati stringa Sql Database 1
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
W Evitare ridondanza dei dati Classic ASP 3
MarcoGrazia Dati nulli su join tra più tabelle MySQL 1
A Inserimento dati nel database tramite form + altre operazioni PHP 18

Discussioni simili