16 messaggi dal 22 marzo 2012
Buon pomeriggio Lista
vogliate aver pazienza in quanto mi sto cimentando per la prima volta con la programmazione di un WebService per cui mi sentirete spesso in lista per problematiche varie.

Il Web Service dovrà ricevere una struttura cosi

CODICEFISCALE, PARTITAIVA, MATRICOLA

La struttura avrà più righe da elaborare.

Io pensavo di farmi passare una stringa Json ma da quello che leggo è un sistema non ottimale per ricevere in input parametri

Una volta ricevuti i dati dovrò effettuare un controllo su alcune tabelle in SQL e dare una risposta articolata con RAGIONE SOCIALE, INDIRIZZO, Etc..

Il ritorno dei dati in formato JSon non mi preoccupa in quanto ho già scritto questa parte e testata.

Il mio problema è che non riesco a capire come passare la lista, in che formato inviarla e ad istanziare la GET all'interno del WService.

Qualcuno di voi sicuramente ha già avuto questo problema e l'ha risolto e spero voglia condividere la soluzione anche generica in modo da poterla studiare e capire.

Sperando di essere stato chiaro :) vi invio cordiali saluti

Perini Luca

Perini Luca
59 messaggi dal 30 novembre 2004
Passa una lista di oggetti Json.
16 messaggi dal 22 marzo 2012
Grazie Mexico77
ho visto solo ora la risposta in quanto non mi è arrivata nessuna e-mail.

Proverò a vedere come passare i dati in Json

Luca

Perini Luca
11.448 messaggi dal 09 febbraio 2002
Contributi
Ciao Luca, puoi chiarire con che tecnologia stai realizzando il webservice? Si tratta di WCF o di Web API?

Enjoy learning and just keep making
16 messaggi dal 22 marzo 2012
Ciao BrightSoul
è un WEB Api

Ciao

Perini Luca
11.448 messaggi dal 09 febbraio 2002
Contributi
Ciao Luca,
ok per WebAPI.


Il Web Service dovrà ricevere una struttura cosi
CODICEFISCALE, PARTITAIVA, MATRICOLA

Ok, allora predisponi in un nuovo file di codice una classe fatta così (puoi dare il nome che vuoi - io l'ho chiamata Richiesta):
public class Richiesta 
{
   public string CodiceFiscale { get; set; }
   public string PartitaIva { get; set; }
   public string Matricola { get; set; }
}



dare una risposta articolata con RAGIONE SOCIALE, INDIRIZZO, Etc..

Ora aggiungi anche un altro file di codice e aggiungi pure quest'altra classe (io l'ho chiamata Risposta);
public class Risposta
{
   public string RagioneSociale { get; set; }
   public string Indirizzo { get; set; }
   //... qui altre proprietà
}


Poi, in uno dei tuoi controller, predisponi un'action così, io l'ho chiamata Elabora:
[Route("api/elabora")]
[HttpPost]
public Risposta Elabora(Richiesta richiesta) 
{
   //TODO: qui fai qualcosa con l'oggetto Richiesta
   //e poi restituisci una Risposta

   return new Risposta {
      RagioneSociale = "Azienda srl",
      Indirizzo = "via Roma, 55"
   };
}


Per richiamare questa action dovrai inviare una richiesta POST all'indirizzo "api/elabora", aggiungendo l'intestazione
Content-Type: application/json

E impostando come corpo della richiesta questo json
{
  "CodiceFiscale": "AABBCC",
  "PartitaIva": "112233",
  "Matricola": "12345"
}


Che strumento usi per chiamare la tua Web API? jQuery? O stai facendo prove con Postman?

Ti consiglio di investire mezz'ora di tempo per aggiungere Swagger, in modo che venga automaticamente prodotta una pagina di documentazione che ti mostrerà per filo e per segno come devono essere invocate le action della tua Web Api.
Qui ci sono le istruzioni per aggiungere Swagger.
https://www.aspitalia.com/script/1205/Documentare-ASP.NET-Web-API-Swagger.aspx


ciao,
Moreno
Modificato da BrightSoul il 16 aprile 2019 18:52 -

Enjoy learning and just keep making
16 messaggi dal 22 marzo 2012
Ciao BrightSoul
ho fatto come mi hai detto tu e funziona tutto.
Mi ero perso in vari esempi che avevo trovato ma non mi portavano da nessuna parte.
Io per le prove ho un progetto Test ma utilizzo anche Postman.
Per quanto riguarda Swagger mi prometto di vederlo in seguito in quanto adesso è urgente finire questo progetto.
Grazie ancora

Cordiali saluti

Perini Luca
11.448 messaggi dal 09 febbraio 2002
Contributi
Ciao,


Per quanto riguarda Swagger mi prometto di vederlo in seguito in quanto adesso è urgente finire questo progetto.

Ok, valuta tu ma penso che siamo in questa situazione. Avere la documentazione Swagger è veramente essenziale per una Web API. Penso che avresti risparmiato molto tempo se l'avessi aggiunta prima, perché ti mostra gli esempi pratici di come deve essere invocata ogni tua operazione (e probabilmente ne risparmieresti se l'aggiungessi ora).

ciao e buon lavoro,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.