|
|
@ -201,10 +201,9 @@ mysql-connector |
|
|
|
έναρξη του process. Αυτό το αρχείο ονομάζεται Procfile . Στο αρχείο αυτό αναφέτεται ένα gunicorn module. |
|
|
|
Ο gunicorn είναι ένας Python HTTP WEB server. Αυτό ουσιαστικά είναι ο ο πυρήνας για την εκτέλεση του API μας. |
|
|
|
|
|
|
|
<<<<<<< HEAD |
|
|
|
* Έπειτα με μια απομακρυσμένη σύνδεση στη βάση μας της οποίας τα στοιχεία πρόσβασης γίνονται στο Heroku, |
|
|
|
πραγματοποιούμε μία σύνδεση και δημιουργούμε τον πίνακά μας για την αποθήκευση. |
|
|
|
======= |
|
|
|
|
|
|
|
Το αρχείο αυτό έχει τη μορφή αυτή: |
|
|
|
|
|
|
|
[source, conf] |
|
|
@ -222,9 +221,21 @@ Source: https://gunicorn.org |
|
|
|
|
|
|
|
* Έπειτα με μια απομακρυσμένη σύνδεση στη βάση μας της οποίας τα στοιχεία πρόσβασης δίνονται από Heroku, |
|
|
|
πραγματοποιούμε μία σύνδεση και δημιουργούμε τον πίνακά μας για την αποθήκευση των δεδομένων. |
|
|
|
>>>>>>> 6cae23e4eeddcdfcc8a558241aeb46b4de0153df |
|
|
|
|
|
|
|
==== REST API |
|
|
|
==== Σε άλλη περίπτωση Deployment στο Localhost |
|
|
|
|
|
|
|
Στην περίπτωση όπου η πλατφόρμα Heroku μας περιορίζει στα ερωτήματα στη βάση δεδομένων που χρησιμοποιούμε |
|
|
|
κάνουμε deploy της εφαρμογής στον localhost. Για να το επιτύχουμε αυτό θα εκτελέσουμε τις εξής εντολές στο |
|
|
|
terminal. |
|
|
|
|
|
|
|
[source, script] |
|
|
|
---- |
|
|
|
export FLASK_APP=serv |
|
|
|
export FLASK_DEBUG=1 |
|
|
|
flask run --host=[IP-v4] --port=8080 |
|
|
|
---- |
|
|
|
|
|
|
|
==== Περιγραφή REST API |
|
|
|
Το REST API ουσιαστικά σηκώνει δύο υπηρεσίες. Αυτές είναι: |
|
|
|
|
|
|
|
* / [GET]: επιστρέφει ένα Array από JSON objects, ένα JSON για κάθε θέση του parking αν είναι διαθέσιμη ή όχι κωδικοποιημένα με 0 ή 1. |
|
|
@ -237,7 +248,7 @@ Source: https://gunicorn.org |
|
|
|
[{"no": 1, "status": false}, {"no": 2, "status": false}, {"no": 3, "status": false}, {"no": 4, "status": true}, {"no": 5, "status": false}, {"no": 6, "status": false}, {"no": 7, "status": false}, {"no": 8, "status": false}] |
|
|
|
---- |
|
|
|
|
|
|
|
* /parkingStatus [POST]: που μας επιτρέπει να αλλάξουμε την κατάσταση μίας θέσης parking. Στο POST τα δεδομένα |
|
|
|
* /parkingStatus [POST] (content-type = "application/json"): που μας επιτρέπει να αλλάξουμε την κατάσταση μίας θέσης parking. Στο POST τα δεδομένα |
|
|
|
ορίζονται στο body σε αναπαράσταση JSON, έτσι ώστε ο Server να είναι ικανός να τα επεξεργαστεί και να τα αποθηκεύσει |
|
|
|
στη βάση δεδομένων που χρησιμοποιούμε. |
|
|
|
|
|
|
@ -248,6 +259,11 @@ Source: https://gunicorn.org |
|
|
|
{"no": 2, "status": false} |
|
|
|
---- |
|
|
|
|
|
|
|
Ακόμα το REST API υποστυρίζει μηχανιμσό αυθεντικοποίησης έτσι ώστε οι μεταβολές-ενημερώσεις των θέσεων του parking |
|
|
|
να γίνονται μόνο από τους εξουσιοδοτημένους κόμβους του συστήματος. Αυτό επιτυγχάνεται με την ενεργοποίηση μίας |
|
|
|
υπηρεσίας όπως περιγράφεται παρακάτω: |
|
|
|
|
|
|
|
* /authentication [POST] (content-type = "application/json): |
|
|
|
|
|
|
|
== Διεπαφή Χρήστη (4~ο~ μέρος) |
|
|
|
=== Η διεπαφή του χρήστη |
|
|
|