Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-12-2017, 11:02   #1
LowSlow
Senior Member
 
Iscritto dal: Jan 2009
Città: Santo Stefano di Camastra (ME)
Messaggi: 445
Domanda su servizi RESTful

Per un progetto universitario sto creando una web application in angularjs che comunica con un database mysql, il professore ha richiesto che la comunicazione deve avvenire tramite un servizio RESTful. Senza informarmi troppo sulla teoria dei servizi RESTful ho creato temporaneamente questa architettura: se per esempio voglio prendere tutti gli utenti presenti nella tabella "users" del database, ho creato un file php (l'ho chiamato getUsers.php) che si collega al database, fa una select su tutta la tabella "users" e torna tutte le row come oggetto json, dalla web application angular faccio un get (http) su questo file "getUsers.php" e mi arrivano gli oggetti json con i dati di tutti gli utenti (username, password ecc.). Oppure per esempio se voglio aggiungere un utente nella tabella "users" del db, ho creato un file php (che ho chiamato addUser.php) che si collega al database, fa una insert nella tabella "users" e come dati per l'utente mette quelli che arrivano nella variabile $_POST, di conseguenza dalla web application angular, quando voglio aggiungere un utente, faccio una chiamata post (http) al file "addUser.php" e gli passo i dati dell'utente che voglio caricare.
Quello che volevo chiedere è: questo tipo di "architettura" può definirsi un servizio RESTful o devo modificarla?
Grazie.
__________________
My Pc: Intel Core i7 8700 - Gigabyte Nvidia GeForce GTX960 2 gb GDRR5 - SSD Adata m.2 SX6000 512 GB - HDD 500 GB sata 3 & 320 GB sata 2 7200 RPM - CoolerMaster GX-Lite 600 W - G.skill Aegis 16 GB DDR4 2400MHz - Gigabyte Z370P D3

Ultima modifica di LowSlow : 23-12-2017 alle 11:06.
LowSlow è offline   Rispondi citando il messaggio o parte di esso
Old 28-12-2017, 18:41   #2
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Premetto che ho realizzato REST solo in Java, quindi non so quanto sia agevole implementare questo in php, però mi risulta che per definire l'interfaccia RESTful sia importante unificare la gestione di una risorsa in un solo file/percorso di base, dopodiché si dovrebbero utilizzare il più possibile coerentemente i metodi HTTP per accedere ai dati (GET), modificarli (PUT), crearli (POST) ed eliminarli (DELETE).

Nei miei casi identifico quasi sempre una risorsa con una tabella su database (mettiamo quindi la tua users).

Eccezione comune è l'utilizzo di POST per sia creazione che aggiornamento, perché solitamente il server è in grado di capire se il dato è da inserire o solamente aggiornare.
(Nei miei casi ho anche eccezioni per metodi di ricerca che sono POST di form che inviano come dati JSON con filtri... ma facendo un esercizio per mostrare di aver capito credo sia meglio aderire il più possibile alla teoria)

Il mio schema basico è solitamente:
  • GET /api/users/42 -> mi rende l'utente con ID 42
  • POST /api/users JSON -> salva oppure crea, consumando i dati del JSON
  • DELETE /api/users/42 -> elimina l'utente con ID 42
  • POST /api/users/query JSON -> lista filtrata con JSON
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Le vendite di EV sono esplose in tutto i...
Avio si prepara ai test del Dimostratore...
Space Pioneer ha annunciato le cause del...
Anthropic avrebbe nuovi antibiotici cont...
Scoperto un 'moltiplicatore nascosto' ne...
DREO: a IFA 2026 4 novità fra cui...
Slackbot genera dashboard e microsite de...
Idrogeno, nuova cella a combustibile rag...
Con la NASA fuori dai giochi, l'ESA risc...
Una falla di ChatGPT permette di estrapo...
Piano clima, 1,34 miliardi per il bonus ...
Porsche esce definitvamente da Bugatti R...
NVIDIA App aggiunge una delle funzioni p...
Come sarebbe il mondo se la luce viaggia...
Titanio, ceramica e zaffiro per HUAWEI W...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:25.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v