Domanda

Sto cercando alcuni buoni collegamenti con le migliori pratiche e codice di esempio sulla creazione RIPOSOservizi Web completi utilizzando .NET.

Inoltre, qualsiasi altro input che potresti avere riguardo REST sarebbe molto apprezzato.

È stato utile?

Soluzione

Servizi dati ADO.Net lo rende davvero facile da costruire e consumare Servizi web RESTful nel mondo .Net, ma è comunque importante comprenderne i concetti.Rispetto a WCF (che ha aggiunto il supporto REST in seguito), ADO.Net Data Services è stato creato principalmente per REST.

Linee guida per la creazione di servizi Web RESTful ha tutte le informazioni sulle risorse di cui hai bisogno.

Questo è un altro utile voce del blog:

I vincoli di interfaccia uniformi descrivono come un servizio creato per il Web può essere un buon partecipante all'architettura Web.Tali vincoli vengono descritti brevemente come segue:

1) Identificazione delle risorse:Una risorsa è qualsiasi elemento informativo che può essere nominato e rappresentato (ad es.un documento, il prezzo di un'azione in un dato momento, il tempo attuale a Las Vegas, ecc.).Le risorse nel tuo servizio devono essere identificate utilizzando gli URI.

2) Manipolazione delle risorse tramite rappresentazioni:Una rappresentazione è la rappresentazione fisica di una risorsa e dovrebbe corrispondere a un tipo di supporto valido.L'utilizzo di tipi di media standard come formati di dati alla base del tuo servizio aumenta la portata del tuo servizio rendendolo accessibile a un'ampia gamma di potenziali clienti.L'interazione con la risorsa dovrebbe essere basata sul recupero e sulla manipolazione della rappresentazione della risorsa identificata dal suo URI.

3)Messaggi autodescrittivi:Seguendo i principi dell'apolidia nelle interazioni del servizio, utilizzando tipi di media standard e indicando correttamente la memorizzazione nella cache dei messaggi tramite l'utilizzo del metodo HTTP e le intestazioni di controllo, si garantisce che i messaggi siano autodescrittivi.I messaggi autodescrittivi consentono l'elaborazione dei messaggi da parte degli intermediari tra il client e il server senza alcun impatto su nessuno dei due.

4)Hypermedia come motore dello stato applicativo:Lo stato dell'applicazione deve essere espresso utilizzando URI e collegamenti ipertestuali per la transizione tra stati.Questo è probabilmente il più controverso e il meno compreso dei vincoli architettonici stabiliti nel La tesi di Roy Fielding.In effetti, la tesi di Fielding contiene argomentazioni esplicite contro l'uso dei cookie HTTP per rappresentare lo stato dell'applicazione per ribadire questo punto, ma spesso viene ignorato.

Altri suggerimenti

Fondazione per la comunicazione di Windows supporta il modello REST da .NET 3.5.

Puoi trovare documentazione ed esempi di codice su MSDN:

RIPOSO e POX

Alcune risorse per imparare REST:

La migliore introduzione che ho letto è la Libro Servizi Web RESTful, che va oltre la spiegazione del modello e dei principi e mostra effettivamente come progettare un servizio web RESTful.Molto utile è la sua lista di controllo su come scrivere/specificare un'API REST:

  1. Individuare il set di dati [ad es.specificare il modello dati].
  2. Suddividere il set di dati in risorse.Per ogni tipo di risorsa:
  3. Assegna un nome alle risorse con gli URI.
  4. Esporre un sottoinsieme dell'interfaccia uniforme [i.e.specificare quali metodi HTTP vengono utilizzati e cosa fanno].
  5. Progettare le rappresentazioni accettate dal cliente [ad es.il formato XML che puoi PUT o POST].
  6. Progettare le rappresentazioni fornite al cliente [ad es.l'XML che ottieni].
  7. Integra questa risorsa nelle risorse esistenti, utilizzando collegamenti e moduli ipermediali.
  8. Considera il tipico corso degli eventi:cosa dovrebbe succedere?[Questo è come uno scenario di successo principale del caso d'uso.]
  9. Considera le condizioni di errore.[Questo è come gli scenari di eccezione dei casi d'uso.]

Gli articoli del "Web RESTful"serie a xml.com sono una grande introduzione.

L'autore (Joe Gregorio, della fama del protocollo editoriale Atom) pubblica regolarmente articoli approfonditi su tutte le cose che riposano sul suoblog. "RESTify DayTrader"(L'architettura di riposo applicata a una domanda di negoziazione di benchmark) è un buon punto di partenza.Mi piace anche "Perché così tanti framework web Python?", che mostra l'implementazione di un piccolo framework web riposante in Python.

Quando ho iniziato a sviluppare servizi Web REST, ho letto il regolamento sulla progettazione delle API REST di Mark Masse.Una volta che conosci le basi e la teoria, sarai in grado di implementare REST con WCF, HTTPListener o ServiceStack.Tutti questi framework sono .NET e abbastanza ben documentati...

Ti consiglierei lo stack di servizi (http://www.servicestack.net/), ci sono abbastanza informazioni sul Web per iniziare.

WCF offre l'API Web ASP.NET, va bene, ma non la utilizzo.

In ogni caso, oggi non esiste un buon framework REST, devi sceglierne uno che trovi facile da usare e poi applicare la teoria che hai imparato dal libro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top