Une convention semble être les deux points ( :) mais Je suis développeur web et je préfère donc la barre oblique (/) comme séparateur. La barre oblique est déjà un séparateur très important dans les URL qui sont censées être Localisateurs de ressources uniformes donc des clés pour les ressources. Pourquoi adopter une approche différente avec les deux points ( :)? Est-ce que cela peut aider ?
Prenons l'exemple suivant :
Nous avons un RESTful API pour les objets jouets. Il en existe une :
http://example.com/api/toy/234
Où l'avons-nous stocké ? Nous utilisons Redis et des barres obliques, la clé est donc évidente :
toy/234
Il s'agit de la clé unique du jouet. La clé peut maintenant être utilisée du côté du client :
{
key: "toy/234",
color: "red",
url: function () {
return API_BASE_URL + this.key;
}
}
Un utilisateur demande un objet avec la clé toy/666
. Comment l'obtenir à partir de Redis ? Un exemple lié à Node.js :
redis.get(key, function reply_callback(error, toystring) {
var toy = JSON.parse(toystring);
...
}
Il n'est pas nécessaire de convertir les barres obliques en deux points et vice versa. Pratique, vous ne trouvez pas ?
Attention : veillez toujours à ce que l'utilisateur ne puisse accéder qu'aux éléments que vous avez prévus. L'approche URL-to-key brute décrite ci-dessus permet d'obtenir les informations suivantes user/1/password
également, comme l'ont noté les commentateurs. Cela ne devrait pas poser de problème si vous utilisez Redis comme cache public en lecture seule.