Architecture for REST consumer [closed]

1

Esistono buoni esempi di applicazioni Web che consumano servizi Web riposanti?

Sto sviluppando una webapp con Spring, e sono arrivato al punto di leggere liste di elementi e dettagli di elementi da un API JSON RESTful. Ho iniziato a sviluppare come se stessi usando un database, creando servizi, elementi del modello e DAOS, ma ora sono bloccato su come fare un progetto adeguato qui.

Gli oggetti del modello dovrebbero contenere un metodo fromJson / toJson e incapsulare se stessi le informazioni sulla serializzazione? Cosa dovrebbero fare gli oggetti DAO? Dove dovrei conservare le informazioni specifiche di WS (url, chiavi API, nomi di oggetti, ecc.)?

Qualsiasi buona app di Open Source sarebbe bella.

    
posta kelmer 19.08.2013 - 12:48
fonte

2 risposte

2

Ho un progetto personale, Commerciante MultiBit , che è rilasciato sotto licenza MIT. È organizzato come piattaforma che fornisce un'API REST a un numero di client downstream, uno dei quali è MultiBit Store . Si comporta come una semplice piattaforma di e-commerce.

È in fase di sviluppo iniziale e presenta alcuni documentazione di background che vale la pena leggendo per ottenere una buona presa sulle decisioni di progettazione - ci sono numerosi altri articoli che coprono REST, HAL e altro ancora.

Le tecnologie coinvolte sono Maven, Java, Dropwizard, Spring, Hibernate, JAX-RS, JDBC, OpenID, HMAC e così via. I modelli di progettazione includono servizi, DAO, DTO (con rappresentazione JSON HAL) all'interno di un'architettura esagonale.

Quando avrò la possibilità mi sposterò da Hibernate a MongoDB che semplificherà notevolmente le cose.

Se stai cercando un progetto di dimensioni ragionevoli che copre un sacco di terreno potrebbe essere di qualche utilità. Se vuoi copiare grandi pezzi del codice e modificarli per i tuoi scopi, potresti trovare utile la classe Simple Scaffolding .

    
risposta data 21.08.2013 - 16:46
fonte
1

Molte aziende che sviluppano API sviluppano anche client che usano linguaggi di programmazione diversi. Ad esempio, l'elenco di Twilio delle librerie client è piuttosto impressionante. Le librerie Recaptcha sono un altro buon esempio.

Molte di queste librerie sono open source, puoi vedere come stanno accedendo all'API. Non ti darà tutte le risposte (dal momento che il loro ruolo è molto limitato), ma sarebbe comunque un buon punto di partenza. Ad esempio, mostrerebbero come ridurre la duplicazione del codice e il codice boilerplate quando si chiama l'API RESTful con diverse opzioni.

Per ora, non riesco a ricordare alcuna applicazione open source che utilizza API RESTful. Se ne ricordo uno, modificherò la mia risposta.

    
risposta data 19.08.2013 - 13:34
fonte

Leggi altre domande sui tag