2017-11-01 8 views
0

Es gibt viele Ressourcen, die beschreiben, wie URLs für RESTful-APIs organisiert werden sollten, aber für das Web gibt es im Allgemeinen wenig zu finden.So organisieren Sie URLs in Webprojekten

Wie kann ich die URLs der Webseiten so strukturieren, dass sie

  1. Sensible aus der Perspektive eines Benutzers im Internet surfen
  2. Sensible von einer Trennung von Bedenken in einer Spring-Framework Controller

Um einen Kontext zu verwenden, nehmen wir an, es gibt groups, die elements enthält und es gibt Anwendungsfälle zum Erstellen, Anzeigen, Bearbeiten und Löschen von beiden.

Antwort

0

Sie haben möglicherweise Schwierigkeiten gehabt, Informationen darüber zu finden, da es eine Frage ist, die neben dem Anwendungsdesign auch Information Architecture (IA) und SEO berührt. Wenn Ihre Anwendung oder Website im Internet (eher als ein internes privates Netzwerk) zur Verfügung steht, dann müssen Sie mehr, manchmal widersprüchliche Zwänge optimieren:

  1. machen die Urls sinnvoll und verständlich für Benutzer
  2. Ihr Schema Machen überschaubar und skalierbar
  3. verstehen, welche Teile Ihrer App oder Website von Suchmaschinen
  4. gute Anwendungsdesign pflegen sein einteilbar müssen (man denke SOLID)
  5. Wahrscheinlich mehrere andere ...

Im Allgemeinen würde ich vorschlagen, dass Sie mit der Identifizierung Ihrer Einschränkungen beginnen und überlegen, "was für Benutzer Sinn macht" als eine hohe Priorität. Versuchen Sie dann, in anderen Einschränkungen von dort zu arbeiten. Da Sie die Trennung von Bedenken erwähnen, haben Sie ein gutes Gespür dafür, was einige Ihrer Design-Einschränkungen sind. Letztendlich liegt es an Ihnen (und vielleicht auch an Ihren KMUs im Unternehmen) zu bestimmen, welche Einschränkungen starr sein müssen und welche anderen gelockert werden können.

0

Nach Berücksichtigung Ich habe der

/groups/create 
/group/{gid}/ 
/group/{gid}/edit 
/group/{gid}/delete 
/group/{gid}/elements/create 
/group/{gid}/element/{eid}/ 
/group/{gid}/element/{eid}/edit 
/group/{gid}/element/{eid}/delete 

Der einzige Nachteil ist, zu denken kommt, dass Gruppen gegen /groups/create statt /group/create erstellt werden, weil sonst der Gruppenname create illegal werden würde.

Eine weitere Variante ist die id ganz am Ende zu befestigen, aber Urls schnell plump worden

/groups/create 
/groups/view/{id} 
/groups/edit/{id} 
/groups/delete/{id} 
/groups/view/{id}/element/create 
/groups/view/{id}/element/view/{eid} 
/groups/view/{id}/element/edit/{eid} 
/groups/view/{id}/element/delete/{eid}