Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Γεια χαρά

Έχω μια "γρηγορη" ερώτηση προκειμένου να ξεδιαλύνω κάτι.

Σε σελίδα που θα δουλεύει με REST API όλα γίνονται μέσω routes ? για σωστό τρόπο ρωτάω

Δηλαδή ας υποθέσουμε ότι θέλω να δώσω 1 SQL query του τύπου :

SELECT A.x,A.y,B.a,B.b FROM Table1 A INNER JOIN Table2 B ON A.ID = B.SubID

θα πρέπει να το κωδικοποιήσω σε μορφή URL 

GET/A.x/A.y/B.a/B.b/Table1/Table2

και αν αργότερα το SELECT μου γίνει ?

SELECT A.x,A.y,B.a,B.b FROM Table1 A INNER JOIN (Table2 B INNER JOIN Table3 C ON Table2.ID = Table3.SomeOtherID) ON A.ID = B.SubID

Και για να το πω πιο απλά...ας υποθέσουμε ότι έχουμε μια ιστοσελίδα που σου επιτρέπει να γράψεις 1 SQL query σε 1 textbox καθώς ο τελικός χρήστης έχει γνώση της βάσης και θέλει να δει το αποτέλεσμα για το query που θα συντάξει....υποθέτω ότι δεν είναι σύνηθες σενάριο αλλά με ενδιαφέρει πως γίνεται και πως θεωρείται πιο σωστό.

Επεξ/σία από masteripper
Δημοσ.


Αρχικα πες οτι εχεις ενα domain student, θα εχεις και τον αντιστοιχο controller , studentscontroller
εκει θα εχεις μια action method Get() πχ οπου θα τις περνας τα αντιστοιχα query parameters.
Μεσα εκει θα υπαρχιε το καταλληλο service που θα κανει τα query params query στην βαση .

Αν θες να το χτυπησεις σε ποσταμ το Url θα ειναι της μορφης api/students?username=mplampla&email=mplampla

συμφωνα με το ρεστ το /α.χ/α.ψ δεν ειναι σωστη τακτικη. σκεψου ειναι σαν να ψαχνεις φακελους , πχ ο student εχει accounts Για τα διαφορα εργαστηρια αρα αν θελω κατι να κανω επι αυτου θα ειναι students/{studentId}/accounts.

τσεκ και εδω https://restfulapi.net/resource-naming/

Δημοσ. (επεξεργασμένο)
5 ώρες πριν, masteripper είπε

Γεια χαρά

Έχω μια "γρηγορη" ερώτηση προκειμένου να ξεδιαλύνω κάτι.

Σε σελίδα που θα δουλεύει με REST API όλα γίνονται μέσω routes ? για σωστό τρόπο ρωτάω

Δηλαδή ας υποθέσουμε ότι θέλω να δώσω 1 SQL query του τύπου :


SELECT A.x,A.y,B.a,B.b FROM Table1 A INNER JOIN Table2 B ON A.ID = B.SubID

θα πρέπει να το κωδικοποιήσω σε μορφή URL 


GET/A.x/A.y/B.a/B.b/Table1/Table2

και αν αργότερα το SELECT μου γίνει ?


SELECT A.x,A.y,B.a,B.b FROM Table1 A INNER JOIN (Table2 B INNER JOIN Table3 C ON Table2.ID = Table3.SomeOtherID) ON A.ID = B.SubID

Και για να το πω πιο απλά...ας υποθέσουμε ότι έχουμε μια ιστοσελίδα που σου επιτρέπει να γράψεις 1 SQL query σε 1 textbox καθώς ο τελικός χρήστης έχει γνώση της βάσης και θέλει να δει το αποτέλεσμα για το query που θα συντάξει....υποθέτω ότι δεν είναι σύνηθες σενάριο αλλά με ενδιαφέρει πως γίνεται και πως θεωρείται πιο σωστό.

Τι εννοείς όλα; Άμα θέλεις να στείλεις κάτι στο backend, τοτε ναι. Rest φυσικα και θα στειλεις σε routes. To να δινεις σε ενα textbox το query, δεν γινεται εκτος και αμα μιλαμε οτι το αντικειμενο της σελιδας ειναι να παιξεις με SQL database. Αλλιως σου σβηνει ολη την βαση δεδομενων. Αμα τωρα θελεις να το κανεις δε και καλα, δεν θα ειναι με get request αλλα post, με το query encoded σαν Json στο Body.

Επεξ/σία από Papakaliati
Δημοσ. (επεξεργασμένο)
2 λεπτά πριν, Papakaliati είπε

Τι εννοείς όλα; Άμα θέλεις να στείλεις κάτι στο backend, τοτε ναι. Rest φυσικα και θα στειλεις σε routes. To να δινεις σε ενα textbox το query, δεν γινεται εκτος και αμα μιλαμε οτι το αντικειμενο της σελιδας ειναι να παιξεις με SQL database. Αλλιως σου σβηνει ολη την βαση δεδομενων. Αμα τωρα θελεις να το κανεις δε και καλα, δεν θα ειναι με get request αλλα post, με το query encoded σαν Json στο Body.

Ακριβώς...έχεις παράδειγμα που να δουλεύει να στέλνεις το query μαζί με JWT ?

Επεξ/σία από masteripper
Δημοσ. (επεξεργασμένο)

Τι παράδειγμα να έχω; Τσέκαρε πχ https://restfulapi.net/http-methods/#post

Φάση:

{ "query": "select whatever from whatever"}

Βασικά κατέβασε postman, γραψε ενα query, πατα export as code, και θα σου βγαλει ετοιμο το code sample για την γλωσσα που θες.

https://learning.postman.com/docs/sending-requests/generate-code-snippets/

 

Επεξ/σία από Papakaliati
  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...