Reste API pour plusieurs applications?
J'ai récemment commencé à découvrir les API REST et j'essaie de comprendre comment elles fonctionnent et à quoi elles servent. D'après ce que j'ai lu jusqu'à présent et d'après ce que je comprends, une API REST peut être utilisée comme back-end pour plusieurs applications différentes en même temps, des applications Android, des applications Web, etc. Est-ce que l'utilisation principale d'une API REST ou est-ce juste quelque chose qu'il fournit mais pas la principale raison de l'utiliser. Ou ai-je complètement tort?
Edit: Je ne voulais pas ajouter plus de questions ici, j'ai donc créé une nouvelle question relative: API vs API REST si vous pouvez aller le vérifier, je l'apprécierais vraiment. Merci également d'avoir pris le temps de me répondre.
Réponses
REST est un modèle d'architecture d'API; Les API REST se distinguent des autres API par leur conception. Ils offrent une interface standardisée pour interagir avec les ressources de données. Une API REST pour une institution financière serait structurée de la même manière que pour un système hospitalier; espaces de problèmes différents, mais conception d'API similaire.
Toute API REST ou non-REST peut être utilisée par plusieurs applications, il n'est donc pas sûr de dire que les API REST sont plus réutilisables que les API non-REST. REST est simplement une norme courante pour la mise en œuvre d'opérations d'accès / manipulation de données via une API.
Par exemple, si j'avais une API Web qui gérait des fooobjets, je pourrais avoir les points de terminaison HTTP suivants pour une API RESTful:
GET /foo/<id> # Look up a foo
POST /foo # Create a new foo
Ou, si je ne respecte pas les directives REST, je peux avoir:
GET /foo?id=<id> # Look up a foo
POST /newFoo # Create a new foo
Cette dernière API est techniquement tout aussi réutilisable que la première, mais la première est plus standardisée et sera plus reconnaissable par les développeurs qui ont déjà utilisé REST.
Pour en savoir plus sur les normes / directives de REST, consultez Transfert d'état de représentation .