Un'API è un servizio di chiamata di procedura remota (RPC) che fornisce metodi remoti accessibili a client esterni. Ogni API di backend è costituita da una classe di servizio RPC che eredita la classe ProtoRPC remote.Service
e da uno o più metodi. Quando definisci un metodo, devi anche definire le
classi Message
per le richieste in entrata e le risposte restituite.
Una classe Message
esegue una funzione di mappatura in modo che i dati in entrata possano essere
estratti e forniti correttamente al metodo del servizio o forniti correttamente alla
risposta in uscita.
Se una richiesta ha argomenti del percorso o della stringa di query, utilizza una classe
ResourceContainer
per la mappatura, anziché una semplice classe Message
.
Infine, devi decorare la classe del servizio API e i metodi della classe e definire le classi Message
per le richieste e le risposte.
Creazione dell'API
La seguente procedura mostra come decorare il codice per creare un'API implementata in una singola classe. Se hai un'API multicluster, consulta la sezione Creazione di un'API implementata con più classi. Consulta la sezione Decoratori per informazioni dettagliate su tutti i decoratori disponibili.
Per creare un'API:
Aggiungi le seguenti importazioni richieste:
Definisci una sottoclasse di
remote.Service
e decorala con@endpoints.api
:Tieni presente che il nome dell'API e il nome della classe di servizio non devono essere uguali. Il numero di versione si applica alla versione dell'API. Il valore che inserisci diventa parte del percorso nell'URL della tua API. Per ulteriori informazioni sulle versioni, consulta Gestione del controllo delle versioni dell'API.
Determina i dati che il tuo metodo si aspetta dalla richiesta e i dati restituiti e crea una classe
Message
per il corpo della richiesta e il corpo della risposta:Tieni presente che se nel corpo della richiesta non sono presenti argomenti, ad esempio in una richiesta
GET
, puoi omettere la classeMessage
per la richiesta e utilizzare semplicemente il valoremessage_types.VoidMessage
.Se la tua richiesta ha argomenti di percorso o stringa di query, sostituisci la classe
Message
con unResourceContainer
appropriato.Per informazioni complete sulla formazione e sull'utilizzo delle classi
Message
, consulta la documentazione relativa alle classi di richiesta e rispostaMessage
del protocollo RPC di Google.Crea il metodo per la tua API e decoralo con
@endpoints.method
:Se la richiesta contiene dati di percorso o stringa di query, sostituisci il tipo di messaggio di richiesta con un
ResourceContainer
appropriato.Aggiungi il codice per pubblicare l'API, come descritto in Creazione di un server web.