Denkanstoß - Hash ID für URL

beta20

Top Contributor
Hallo zusammen,

ich benötige einen Denkanstoß.
Ich würde gerne meine URL´s so aufbauen, dass man nicht gleich sehen kann wieviele Einträge in meiner Datenbank sind.
Also Bsp. habe ich eine Entity "Article". Meine URL (mit Parameter) sieht dann derzeit so aus:
www.mydomain.com/article?id=1
-> Die "1" am Ende ist der Parameter meiner ID


Meine Idee ist, dass ich diese ID mit einem Hash versehe, sodass nicht gleich für den User ersichtlich ist, dass ich nur 1 Eintrag habe....
Also z.B.
www.mydomain.com/article?id=1asasasd5485asdas33asasads

In der DB habeich mit Hibernate / JPA bereits eine zusätzliches Feld hinzugefügt.
String hashKey

Dieses Feld habe ich in @Presist (also bevor das Objekt erstellt wird) hinzugenommen, und dann anhand der echten "ID", welche automatisch vom DB-System hochgezählt wird mittels MD5 einen Key generiert.
Das Problem ist nun allerdings, dass beim Ausführen der Funktion (den MD5 Hash) generieren die ID noch gar nicht exisiert und demnach mein String hashKey immer defaultmäßig den Hash von "0" zeigt.

Gibt es hier andere Möglichkeiten?
Danke für jede Hilfe
 

thecain

Top Contributor
uuid von der DB generieren lassen oder von Hibernate

z.b.
Java:
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(name = "ID")
private String id;
 

beta20

Top Contributor
Danke - ich habe allerdings schon eine @ID
- Kann ich zwei davon haben?
- UUID ist auch wirklich unique?
- Wird hier automatisch ein Hash erstellt durch Hibernate oder muss ich "id" extra nochmal hashen?
 

mrBrown

Super-Moderator
Mitarbeiter
ich habe allerdings schon eine @ID
- Kann ich zwei davon haben?
Nein, du ersetzt die bisherige damit.

- UUID ist auch wirklich unique?
praktisch ja (theoretisch könnten doppelte Auftreten, die Wahrscheinlichkeit ist aber zu gering um relevant zu sein)

- Wird hier automatisch ein Hash erstellt durch Hibernate oder muss ich "id" extra nochmal hashen?
Eine UUID ist zB "550e8400-e29b-11d4-a716-446655440000", was soll man da noch hashen?
 

Thallius

Top Contributor
Wie wäre es die ID einfach mittels POST mitzugeben?

Klar kann man das mit den Developer-Tools dann immer noch ansehen aber immerhin nicht mehr so ersichtlich für jeden. Und einfach ist es auch. Ich würde eh nie mit GET arbeiten wenn es nicht absolute unverzichtbar ist. Das läd die Leute ja geradezu dazu ein auch mal ein paar andere PArameter auszuprobieren.
 

mrBrown

Super-Moderator
Mitarbeiter
Wie wäre es die ID einfach mittels POST mitzugeben?
Weil POST eine ganz andere Bedeutung und Funktionsweise hat als GET?
Die sind nicht miteinander ersetzbar.

Ich würde eh nie mit GET arbeiten wenn es nicht absolute unverzichtbar ist. Das läd die Leute ja geradezu dazu ein auch mal ein paar andere PArameter auszuprobieren.
Dann hast du wohl noch nie einen REST-Service benutzt geschweige denn programmiert.
Die Validierung der Parameter *muss* in jedem Fall gemacht werden. Wenn "Parameter ausprobieren" für die Anwendung ein Problem ist, ist der Entwickler das Problem.
 

mrBrown

Super-Moderator
Mitarbeiter
Wo ist definiert, dass bei REST die Parameter über GET gemacht werden?

Nirgends, ist in der Formulierung auch Unsinn. Wie schaffst du es, auf genau das einzugehen, was überhaupt nicht angesprochen wurde? Wäre irgendwie sinnvoller, auf die Punkte einzugehen, die ich auch genannt habe...
(Wobei du da einen schönen Punkt ansprichst, uU ist das hier als Parameter falsch und wäre als Path-Variable besser ;) aber darum gehts ja nicht)


Man sollte die für die entsprechende Funktion geeignete Methode nutzen.
Und für das Erhalten einer Resource (um das es hier geht, erhalten des Artikels mit Artikelnummer N), ist GET das passende.
Wenn du was zum Lesen willst: RFC 7231.


Wie sähe eigentlich ein Link zu dem Artikel aus, wenn das ein POST-Request ist, kannst du den hier auch so anklickbar einfügen, wie die obigen? ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Denkanstoß benötigt: Emails an bestimmte Emailadresse schicken Java Basics - Anfänger-Themen 6
W Erste Schritte Rechnen mit Schleifen? Denkanstoß gesucht Java Basics - Anfänger-Themen 15
I Brauche Denkanstoß: Weitergabe von Kontaktinfos aus verschiedenen Kontaktformularen von Webseiten Java Basics - Anfänger-Themen 2
J vergleich von arrays (benötige Hilfe/Denkanstoß) Java Basics - Anfänger-Themen 16
M BildLauf - ArrayLists - Denkanstoß Java Basics - Anfänger-Themen 2
N Denkanstoß Zeilenumbruch Java Basics - Anfänger-Themen 9
K Arrays zusammen addieren - brauche Denkanstoß:) Java Basics - Anfänger-Themen 4
M Erste Schritte Anfänger braucht Denkanstoß für Schulprojekt Java Basics - Anfänger-Themen 21
J Denkanstoß - Array von Objekten mit Ints Java Basics - Anfänger-Themen 20
M Denkanstoß für Umlaufzahl dringend benötigt! Java Basics - Anfänger-Themen 9
R Brauche Denkanstoß Java Basics - Anfänger-Themen 31
A Denkanstoß: Drehen eines Bildes (Matrix) Java Basics - Anfänger-Themen 5
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2
bluetrix Hash Set hälfte entfernen Java Basics - Anfänger-Themen 7
RudiRüssel maximale Anzahl von Schlüsseln in einer Hash Tabelle Java Basics - Anfänger-Themen 2
J alternierendes Probing-Verfahren für Hash-Tabellen implementieren Java Basics - Anfänger-Themen 0
L Programmierung mit Hash Java Basics - Anfänger-Themen 3
J HashSet Methode contains liefert false (hash Methode überschrieben) Java Basics - Anfänger-Themen 3
E Hash map Value Wert hochzuholen/ändern Java Basics - Anfänger-Themen 7
4a61766120617274697374 sha hash Java Basics - Anfänger-Themen 10
A Hash Tabelle Element suchen Java Basics - Anfänger-Themen 1
B Vererbung In offener Hash Tabelle einfügen Java Basics - Anfänger-Themen 4
T Hash von doubles generieren Java Basics - Anfänger-Themen 5
T Integer-Objekt über Hash-Funktion in Array ablegen Java Basics - Anfänger-Themen 1
E Hash Code dekodieren? Java Basics - Anfänger-Themen 20
T Hash Map Java Doc Einführung Java Basics - Anfänger-Themen 9
E Hash Map - Null Pointer Exception? Java Basics - Anfänger-Themen 3
MU5T4NG JPasswordField als Hash in Datenbank abspeichern Java Basics - Anfänger-Themen 3
L MD5 Hash berechnen Java Basics - Anfänger-Themen 2
P Casten Hash Map Java Basics - Anfänger-Themen 4
F Hash problem Java Basics - Anfänger-Themen 29
W automatischer password hash Java Basics - Anfänger-Themen 11
M Eigene Hash Funktion Java Basics - Anfänger-Themen 5
E Hash Map?? Java Basics - Anfänger-Themen 12
K eigene Hash-Datenstruktur Java Basics - Anfänger-Themen 2
J Hash-Maps / ArrayLists testen Java Basics - Anfänger-Themen 12
I Hash Wert von Dateien erzeugen Java Basics - Anfänger-Themen 2
H java hash map: cd ablageprogramm Java Basics - Anfänger-Themen 2
G Implementieren einer Hash-Datenstrucktur Java Basics - Anfänger-Themen 3
C MD5-Hash in Java Java Basics - Anfänger-Themen 14
M Code aus IntelliJ in "Textform" für Word-Paper? Java Basics - Anfänger-Themen 10
G Icon für App Java Basics - Anfänger-Themen 1
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
D Apache HTTPClient für alle Fälle Java Basics - Anfänger-Themen 41
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
J Fehlermeldung unverständlich für Jakarta Java Basics - Anfänger-Themen 17
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
M GUI für Vier-Gewinnt. Java Basics - Anfänger-Themen 4
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
R Operatoren Rechenoperation verwenden für Taschenrechner. Java Basics - Anfänger-Themen 32
Ostkreuz Counter für Booleanwerte Java Basics - Anfänger-Themen 8
B Regex Ausdrücke für Monate Java Basics - Anfänger-Themen 7
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Code für Bezahlsystem (auch bei Offline Aktivität) Java Basics - Anfänger-Themen 7
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
izoards Sortier Algorithmus für Bounding Box Elememte Links nach Rechts und von Oben nach Unten Java Basics - Anfänger-Themen 33
M generate Methode für Streams Java Basics - Anfänger-Themen 6
I Datenmodell für "Tags" Java Basics - Anfänger-Themen 6
Lion.King for-Kontrollstruktur für Pyramide Java Basics - Anfänger-Themen 8
B Mit Countdown Midnestdauer für Teilaufgabenerledigung erzwingen Java Basics - Anfänger-Themen 8
J File length als Prüfwert für Download Java Basics - Anfänger-Themen 5
K Spieleidee gesucht für Informatikprojekt - JAVA (BlueJ)? Java Basics - Anfänger-Themen 15
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
javamanoman Java für Online Banking Java Basics - Anfänger-Themen 12
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
I SQL / JPA Query für StartDate und EndDate Java Basics - Anfänger-Themen 1
T getMethode für ein Array Java Basics - Anfänger-Themen 2
Fats Waller Farben mixen für den Hintergrund ? Java Basics - Anfänger-Themen 1
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
N Api nur für Textdatein (.txt) Java Basics - Anfänger-Themen 2
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
R Ist Java das Richtige für mich? Java Basics - Anfänger-Themen 4
E Mittelquadratmethode für Hexadezimalzahlen Java Basics - Anfänger-Themen 1
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
S BubbleSort für ArrayLists Java Basics - Anfänger-Themen 3
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
L Konzept für Quiz Java Basics - Anfänger-Themen 33

Ähnliche Java Themen

Neue Themen


Oben