Tout le monde fait de nos jours [~ # ~ # ~] SOA [~ # ~] , même si certains ne comprennent pas réellement ce qui est tout à propos. Donc, ils le font mal. En utilisant cela comme analogie, je sais quoi [~ # ~] repose [~ # ~ ~] est (ou au moins je pense que je pense faire) et je veux en faire une partie. mais je veux le faire correctement.
Donc, ma question est de savoir quelle est la bonne façon de se reposer?
Eh bien, il existe de nombreuses façons d'apprendre à construire une application Web reposante et non, il n'y a pas de bonne façon unique. Reposant n'est pas une norme mais utilise un ensemble de normes (HTTP, URI, type MIME, ...).
Commencez avec ceci: Comment j'ai expliqué REST à ma femme
Ensuite, procédez avec ceci: Cookbook Services Web reposant
Et ensuite mettre tout votre temps pour développer des applications Web car la meilleure façon d'apprendre est de faire des expériences et vous pouvez apprendre tellement de vos erreurs;)
Ne vous inquiétez pas si vos premières applications Web ne seront pas totalement reposantes: vous trouverez la façon de le faire!
Ainsi, citant Obi-Wan Kenobi, "Que la force soit avec toi!" ;)
[~ # ~] Edit [~ # ~ #]
Ok, laissez-moi être plus précis. Tu veux faire du webapp reposant, hein ? Eh bien, comme je l'ai dit, il y a beaucoup de façons de le faire, mais c'est la principale ligne directrice.
reste (transfert d'état de représentation) est un style d'architecture logicielle pour le système distribué (comme www). Ce n'est pas une norme mais il utilise un ensemble de normes: http, ajax, html, uri, type mime, etc. Nous parlons de représentation d'une ressource, pas sur une ressource elle-même. Pris de 'comment j'ai expliqué REST à ma femme':
Femme : une page Web est une ressource ?
Ryan : genre de. Une page Web est une représentation d'une ressource. Les ressources sont juste des concepts.
Ok, nous avons vu cela pour identifier les ressources que nous pouvons utiliser URI, mais nous avons besoin de quelque chose d'autre pour les actions (ajouter, modifier, modifier, etc.): une excellente bienvenue à CRUD (Créer, lire, mettre à jour et supprimer).
Maintenant, concernant Publier et supprimer, certains problèmes techniques pouvaient apparaître (vous les obtiendrez avec le formulaire HTML): Les développeurs contournent souvent ce problème à l'aide de POST pour chaque demande "Met" et "Supprimer". Officiellement, vous devez utiliser mettre et supprimer. Au fait, faites ce que vous voulez. Mon expérience me pousse à utiliser POST et obtenez-en à chaque fois.
--- la partie suivante doit être utilisée mais ce n'est pas un lien de repos: il concerne les données liées ---
URI abstrait des détails techniques! Dites au revoir à Uri comme suit:
http://www.example.com/index.php?query=search&id=9823&date=08272012
Réception URI! Prenez le lien ci-dessus et changez-le comme suit:
http://www.example.com/search/2012/08/27/9823
C'est beaucoup mieux, hein? Cela pourrait être fait par:
Une autre chose: utiliser différents URI pour représenter différentes ressources:
Faites attention : environ.html et environ.rdf ne sont pas des fichiers! Ils pourraient être le résultat d'une transformation XSLT!
Si vous avez atteint ce point, félicitations! Probablement, vous êtes prêt à obtenir plus de concepts abstraits car nous entrons dans les détails techniques de la bande sémantique;) Eh bien, lorsque votre client veut une ressource, elle effectue généralement la demande suivante:
GET http://www.example.com/about
Accept: application/rdf+xml
Mais le serveur ne répondra pas avec le fichier environ.rdf, car il a une URI différente ( http://www.example.com/about.rdf ). Alors, regardons le modèle 303 ! Le serveur reviendra ceci:
303 See Other
Location: http://www.example.com/about.rdf
Et le client suivra le lien renvoyé comme suit:
GET http://www.example.com/about.rdf
Accept: application/rdf+xml
Enfin, le serveur retournera la ressource demandée:
200 OK
about.rdf
Ne vous inquiétez pas: votre application client ne fera rien de cela! Le motif 303 doit être effectué par l'application Server et votre navigateur fera le reste;)
Souvent, la théorie est loin, loin de la pratique. Oui, vous savez maintenant comment concevoir et développer une application reposante, mais la ligne directrice ci-dessus n'est qu'un indice. Vous trouverez votre meilleur moyen de créer des applications Web et probablement ce ne sera probablement pas la même chose que la théorie veut. Ne vous souciez pas: D!
Services Web reposants, Sameer Tyagi
Les API de repos doivent être hypertextes à base d'hypertexte, Roy Thomas Fielding
A REST Bible Bible ou quelque chose de ....
Aucun livre biblique nécessaire; J'ai eu les mêmes questions exactes et j'ai appris tout ce dont j'avais besoin ou que je voulais savoir sur REST en lisant ces trois articles:
Mais je veux le faire correctement.
Comme vous allez lire dans les articles ci-dessus, la clé est de penser aux pièces accessibles de votre application en tant que "ressources" pouvant être créées, récupérées, mises à jour ou supprimées à l'aide des "verbes" http existants: obtenir, mettre, poster , EFFACER.
aussi, connais la différence entre Met et Post , et quand les utiliser. Obtenez, mettre et supprimer et supprimer des transactions idempotentes, POST ne devrait pas.
Effectuez également une utilisation appropriée des codes d'état HTTP lors de la communication sur le client.