5
votes

Application Web (API et Front-end) - conception de routes

Je suppose que ce type de sujets existe toujours, mais j'aime avoir un avis spécifique sur mon cas. Depuis 1/2 mois je pense faire une application web de référencement pour mon quotidien (shopping, échéance, etc.) J'ai commencé par définir mon modèle d'objet comme ceci (modèle de conception très simple)

Image de modèles

J'ai donc décidé de créer une API NodeJS pour le back-end et Angular 7 pour le front-end. Ce n'est pas un problème technique pour moi de développer l'application et l'API, mais mon problème réside dans la conception de celle-ci, et en particulier dans la conception des routes.

Ma première suggestion pour l'API de routes est: Utilisateur:

  • < /users
  • < /users/:id

Liste:

  • < /lists
  • < /lists/:id

Élément:

  • < /elements/:id

Techniquement, ça va, mais je ne suis pas sûr que ce soit les bonnes pratiques. Comme l'utilisateur contient la liste et que la liste contient un élément, ne serait-il pas préférable d'avoir des itinéraires comme celui-ci:

  • < /users/:id
  • < /users/:id/list
  • < /users/:id/list/:id
  • < /users/:id/list/:id/element
  • < /users/:id/list/:id/element/:id

Merci pour vos réponses ou suggestions!

PS: Si vous avez des sites Web / vidéos / sujets ... à suggérer, n'hésitez pas.


0 commentaires

3 Réponses :


1
votes

Je dirais que vous l'avez bien fait en premier lieu, la deuxième approche est compliquée car vous pouvez obtenir d'énormes routes et vous envoyez beaucoup de données inutiles. Pourquoi avez-vous besoin de l'ID utilisateur pour obtenir un élément? Un élément est une entité en lui-même, et il va probablement grandir, vous devrez peut-être obtenir des éléments connexes, les filtrer ... mieux vaut simplement avoir /elements

Ce que vous pouvez faire est de trouver des relations simples, comme:

  • < /users/:id/lists
  • < /lists/:id/elements

Je vous recommande de lire créer des apis que vous ne détesterez pas < / a> :)


1 commentaires

Merci, j'aime cette approche! Je comprends ta réflexion et c'est plutôt bon. Alors j'essaye avec ça je pense



1
votes

Premièrement, vous êtes dans le bon chemin absolu pour définir les routes en angulaire, en même temps vous devez utiliser Lazy loading concept de routage.

Je vous recommande de suivre le cours de vue au pluriel , par Deborah Kurata . Je n'essaie pas de promouvoir ou d'annoncer quoi que ce soit, mais pour votre situation actuelle, ce cours serait la bonne orientation. Il vous fournirait tout ce dont vous avez besoin pour créer des applications prêtes pour l’entreprise.

Alternativement, Core UI Angular fournit les meilleures conceptions qui sont déjà implémentées avec Angular Route et autres. Le chargement paresseux et d'autres routages angulaires sont implémentés, tout ce que vous avez à faire est de le comprendre.

J'espère que cela vous aidera.,


1 commentaires

Merci, je pense voir le didacticiel des vidéos, cela semble plutôt bien. Et pour Core UI Angular, ce sont de très bons outils, mais mon application est très simple et l'interface utilisateur n'évolue pas. Mais pourquoi pas pour une autre application!



1
votes

Principe
  • aussi court que possible
  • facile à lire
  • saisie conviviale lorsque l'utilisateur saisit l'URL

Exemples

Liste d'utilisateurs

/user/:id/tel

Détails de l'utilisateur

/user/new

Ajouter utilisateur

/user/:id

Page fonctionnelle de l'utilisateur

/users


0 commentaires