Consigli di progettazione dell'API Web

3

Sto sviluppando un'API Web come livello di servizi per un'applicazione di moduli Web ASP.NET.

Ci sono due controllori ContractorController (fornisce dettagli sull'appaltatore) e PaymentsController (fornisce dettagli sui pagamenti eseguiti a un appaltatore).

Ora nella nostra applicazione per l'interfaccia utente abbiamo questo controllo utente che verrà utilizzato su molte pagine:

La responsabilità dell'interfaccia utente è di chiamare ContractorController e PaymentsController separatamente per ottenere i dati richiesti? O dovrei fornire un metodo consolidato (potrebbe essere su PaymentsController ) per restituire tutti i dati richiesti, che sembrano andare contro l'approccio RESTful o trattare con le risorse?

Grazie.

    
posta Sri Harsha Velicheti 25.01.2015 - 17:13
fonte

1 risposta

1

Lo farei in questo modo:

  • Incapsula questa parte dell'interfaccia utente in un componente, che è responsabile solo della parte dell'interfaccia utente del lavoro. Al momento della costruzione, questo componente ha bisogno di dati sull'appaltatore e sui pagamenti che gli vengono forniti (tramite costruttore, alcuni metodi setter, qualunque cosa. Dipende dal tuo progetto)

  • Incapsula la logica relativa al database in due servizi (ContractorService e PaymentService). Questi servizi possono recuperare i dati dal database utilizzando le condizioni fornite e preparate (convertire i tipi, riempire le istanze degli oggetti correlati, localizzare tramite chiamate a LocalizationService ecc.)

  • Ora, in qualsiasi azione del controller (ad esempio in qualsiasi sezione / pagina del tuo sito Web indipendentemente da come viene chiamato il controller), prima chiami servizi rispettati per recuperare i dati e poi li trasmetti al tuo componente dell'interfaccia utente.

risposta data 30.01.2015 - 14:36
fonte

Leggi altre domande sui tag