Skip to content

Commit 9a2bb70

Browse files
committed
parle un peu d'hypermedia...
1 parent 72d8ce1 commit 9a2bb70

File tree

1 file changed

+22
-10
lines changed

1 file changed

+22
-10
lines changed

_posts/2011-09-21-creer-une-api-rest.markdown

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ efforts sur l'utilisation de [JSONP](http://en.wikipedia.org/wiki/JSONP) ou [COR
102102
Certains problèmes de conception sont récurrents dans les APIs REST, et
103103
les opinions sont souvent bien trop tranchées.
104104

105-
Le versioning revient souvent dans les préoccupations:
105+
### Le versioning revient souvent dans les préoccupations
106106

107107
* pour identifier différentes versions d'une API, l'utilisation d'un
108108
préfixe est [souvent
@@ -113,7 +113,22 @@ recommandé](http://stackoverflow.com/questions/389169/best-practices-for-api-ve
113113
ressource particulière), l'utilisation des Etags (pour le cache) et/ou
114114
d'un numéro de version dans votre ressource sont suffisants
115115

116-
En cas de doute, il est souvent utile de se référer à une API REST très
116+
### Documentation et "découvrabilité"
117+
118+
La documentation est un aspect essentiel d'une API REST. Certains
119+
prennent le parti d'automatiser et d'outiller un maximum la
120+
documentation: par exemple, avec [jax-doclets](http://www.lunatech-labs.com/open-source/jax-doclets).
121+
122+
Pour aller plus loin, les APIs peuvent apporter une "découvrabilité":
123+
permettre au protocole HTTP de documenter l'utilisation de l'API. En
124+
clair, donner au client REST des indications sur les actions possibles
125+
via les headers réponse HTTP. Martin Fowler l'explique bien dans un
126+
article sur le [Richardson Maturity
127+
Model](http://martinfowler.com/articles/richardsonMaturityModel.html).
128+
129+
### En cas de doute...
130+
131+
Il est souvent utile de se référer à une API REST très
117132
utilisée et reconnue: l'[API github](http://developer.github.com/) est considérée comme une des
118133
meilleures à ce jour.
119134

@@ -125,19 +140,16 @@ Aussi, je vous recommande la lecture des articles de Steve Klabnik:
125140
HTTP"](http://blog.steveklabnik.com/2011/08/07/some-people-understand-rest-and-http.html)
126141

127142

128-
## Bibliographie
129-
130-
Quelques ressources utiles:
143+
## Ressources utiles
131144

132-
* documenter son API REST avec
133-
[jax-doclets](http://www.lunatech-labs.com/open-source/jax-doclets)
134-
* tester son API REST depuis son navigateur avec une [extension Chrome](https://chrome.google.com/webstore/detail/cokgbflfommojglbmbpenpphppikmonn) ou
145+
* Tester son API REST depuis son navigateur avec une [extension Chrome](https://chrome.google.com/webstore/detail/cokgbflfommojglbmbpenpphppikmonn) ou
135146
avec CURL!
136147
* Google a beaucoup travaillé sur les aspects RDF/atomPUB avec
137148
[Gdata](http://code.google.com/intl/fr-FR/apis/gdata/)
138-
* le projet Jersey a de [nombreux exemples d'APIs
149+
* Le projet Jersey a de [nombreux exemples d'APIs
139150
REST](http://download.java.net/maven/2/com/sun/jersey/samples/jersey-samples/)
140-
sur des aspects particuliers
151+
sur des aspects particuliers, dont
152+
[Hypermedia](http://download.java.net/maven/2/com/sun/jersey/experimental/hypermedia-action/hypermedia-action-sample/)
141153
* Mettre en place un ["rate
142154
limiting"](http://stackoverflow.com/questions/667508/whats-a-good-rate-limiting-algorithm)
143155
sur son API peut aussi bénéficier d'un cache distribué (memcached,

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy