Una API es un servicio de llamada a procedimiento remoto (RPC) que proporciona métodos remotos accesibles para clientes externos. Cada API backend consta de una clase de servicio RPC que subclasifica la clase ProtoRPC remote.Service
y uno o más métodos. Cuando define un método, también debe definir clases Message
para las solicitudes que llegan a ese método y las respuestas que devuelve. Una clase Message
realiza una función de mapeo para que los datos entrantes puedan extraerse y suministrarse al método de servicio correctamente, o suministrarse correctamente a la respuesta saliente.
Si una solicitud tiene argumentos de ruta o cadena de consulta, se utiliza una clase ResourceContainer
para el mapeo, en lugar de una simple clase Message
.
Finalmente, debe decorar la clase de servicio API y los métodos de clase, y debe definir clases Message
para las solicitudes y respuestas.
Creando la API
El siguiente procedimiento muestra cómo decorar su código para crear una API implementada en una sola clase. Si tiene una API de varias clases, consulte Creación de una API implementada con varias clases . Consulte Decoradores para obtener información detallada sobre todos los decoradores disponibles.
Para crear una API:
Agregue las siguientes importaciones requeridas:
Defina una subclase de
remote.Service
y decórela con@endpoints.api
:Tenga en cuenta que no es necesario que el nombre de su API y el nombre de su clase de servicio sean iguales. El número de versión se aplica a la versión de la API. El valor que ingresa se convierte en parte de la ruta en la URL a su API. Para obtener más información sobre las versiones, consulte Manejo del control de versiones de API .
Determine qué datos espera su método de la solicitud y qué datos se devuelven, y cree una clase
Message
para el cuerpo de la solicitud y el cuerpo de la respuesta:Tenga en cuenta que si no aparecen argumentos en el cuerpo de la solicitud, como en una solicitud
GET
, puede omitir la claseMessage
para la solicitud y simplemente usar el valormessage_types.VoidMessage
.Si su solicitud tiene argumentos de ruta o cadena de consulta, reemplace su clase
Message
con unResourceContainer
apropiado.Para obtener información completa sobre cómo formar y usar clases
Message
, consulte la documentación para la respuesta RPC del protocolo de Google y solicite clasesMessage
.Crea el método para tu API y decóralo con
@endpoints.method
:Si su solicitud tiene datos de ruta o cadena de consulta, reemplace el tipo de mensaje de solicitud con un
ResourceContainer
apropiado.Agregue el código para servir su API, como se describe en Creación de un servidor web .