Question

J'ai rendu la vie difficile aux développeurs HTML / CSS en transformant toute interaction ayant un effet secondaire en bouton et NON en hyperlien.

Par exemple, j'ai changé le " Vider le panier " dans un site commercial à partir d'un lien vers un bouton. Partant du principe que toute action ayant un effet secondaire devrait être un bouton et non un lien hypertexte. (Même si une araignée ou un robot n'arrivera jamais à ce point) Quel est le lien avec REST?

La meilleure réponse aura de bonnes raisons pour expliquer pourquoi je complique les choses pour les gars HTML / CSS, ... ou pourquoi je me trompe :-), ... peut-être que je suis puriste, mais sans raison réelle?

Remarque: je ne suis pas opposé à l'utilisation de la fonctionnalité ajax qui a des effets secondaires déterminants sur un lien hypertexte ou même sur un événement dont la sélection a été modifiée.

Salut. Murray.

Était-ce utile?

La solution

Je pense que vous avez fait le bon choix, mais le justifier est probablement en dehors du domaine de & "REST &";.

.

Si ces liens ne sont en réalité que de <a> balises entraînant une requête GET du navigateur, elles ne doivent avoir aucun effet secondaire, car GET est censé être sûr et idempotent selon les spécifications HTTP. Voir les commentaires précédents sur les araignées en suivant les liens, etc.

Maintenant si le " liens " javascript utilisé pour vraiment faire un POST sur le serveur lorsque l'on clique dessus, ou une sorte d'astuce comme ça, alors ils sont A-OK du point de vue de HTTP. Probablement plus de travail que ce qu'ils valent, mais RESTful.

Mais il convient également de prendre en compte la conception de l'interface utilisateur. Parce qu'en HTML de base, sans CSS ni javascript, un lien est toujours un GET, les utilisateurs ont été formés depuis 1994 à s'attendre à ce que tout ce qui ressemble à un hyperlien soit sûr et idempotent. En faisant quelque chose de différent, vos concepteurs enfreignent le principe de la moindre surprise. Cela semble être quelque chose que Jacob Nielsen vous soutiendrait.

Autres conseils

Cela n’a pas grand-chose à voir avec REST, mais j’essaie de suivre cette règle simple:

Hyperlinks are for navigation.
Buttons are for interaction.

Peu importe si votre & "stateful &"; les actions sont des liens ou des boutons. Vous pouvez avoir un lien qui supprime / ajoute, etc. La cohérence est ce qui compte. Donc, si vous voulez que ces actions soient des boutons, c'est très bien. Je pense que les CSS talentueux peuvent faire en sorte que les liens ressemblent à des boutons. Vous n’avez peut-être pas besoin de boutons HTML du tout.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top