Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    103

    Realizzare web service RESTFUL, come si fa?

    Salve a tutti, ho bisogno di realizzare un web service con php 5 con comunicazione RESTFUL. Un web service semplice, deve solo permettere un autenticazione con username e password, l'upload di un file e la stampa di una query mysql. Non ho mai creato un web service e non ho idea di come si realizzi. Premetto che il php lo conosco abbastanza bene.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    puoi sfruttare qualche libreria pronta... non è tanto complesso... devi definire i servizi e l'interfaccia e quindi scrivere lo script che elabora le richieste e fornisce le risposte nel formato prescelto (es. xml): la parte più "elaborata" forse è la gestione delle intestazioni per i metodi "GET", "PUT", "DELETE", ma se usi una libreria pronta è molto semplice

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    103
    dato che dovrei interfacciare le api con uno smartphone vorrei evitare librerie esterne.
    Mi puoi spiegare più o meno come devo procedere, un esempio magari

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    non ho ben capito perchè non vuoi usare librerie esterne... cmq puoi dare un'occhiata qui per esempio... non puoi sfruttare una libreria pronta, ma perchè? ...

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    103
    perché fa parte di una tesi. La pagina che mi hai linciato non ci capisco molto XD

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    fondamentalmente devi realizzare uno script che sarà richiamato come:

    http://www.example.com/restapi/script.php

    con metodo GET, DELETE o altro (se conosci REST dovresti conoscere questi aspetti, altrimenti prima vedi com'è fatto)

    in script.php leggi la variabile $_SERVER['REQUEST_METHOD'] per rilevare il metodo di chiamata e poi i parametri passati, quindi genera la risposta opportunamente.

    P.es. un webservice che restituisce il triplo di un numero potrebbe essere (solo come traccia!!):

    chiamata GET: http://www.example.com/restapi/script.php/3

    script.php:
    Codice PHP:
    $t 0;
    $r explode("/"substr(@$_SERVER['PATH_INFO'], 1)); // da controllare
    $n = ...; // devi estrarre $n da $r... stampa a video la variabile $r per vedere com'è
    if ($_SERVER['REQUEST_METHOD']=='GET') {
      
    $n intval($n); // per esempio
      
    $t $n*3;
    };
    // qui generi la risposta, p.es. un semplice "txt":
    header ('content-type: text/plain');
    print 
    $t

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    103
    ok adesso è chiaro grazie, alla fine è quasi come le chiamate asincrone in ajax

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mmmh... il concetto è rispettare l'architettura REST... in particolare il formato di chiamata e i metodi (GET, DELETE, etc.)

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    103
    in pratica è una chiamata come quelle ajax però con delle regole da rispettare.
    L'unica cosa che non mi è ancora chiara è come fare a gestire i codice http, tipo il 404 not found e tutti gli altri

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    cosa intendi con "come gestire i codici come il 404"? fai qualche esempio magari...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.