Este complemento te permite usar objetos DataModel como parámetros y/o respuesta con tus métodos de la API REST.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 16.0Permite a los desarrolladores usar objetos DataModel como entrada y salida para los métodos de la API REST, con validación automática y documentación OpenAPI.
Este módulo es un puente técnico entre el framework REST API y la librería DataModel. No añade ningún menú, pantalla ni botón para los usuarios finales. En su lugar, cambia cómo se definen y documentan los endpoints de REST API.
Cuando se declara un método de REST API, los desarrolladores ahora pueden especificar que un parámetro o una respuesta es un objeto DataModel (o una lista de ellos). El módulo entonces automáticamente:
- Convierte los datos JSON entrantes en objetos DataModel, ignorando los campos desconocidos y permitiendo opcionalmente datos parciales.
- Valida los datos convertidos; si la validación falla, lanza un error de usuario con los detalles.
- Convierte los objetos DataModel de vuelta a JSON para la respuesta y valida el resultado antes de enviarlo.
- Genera documentación OpenAPI (Swagger) para estos parámetros y respuestas, incluyendo parámetros de consulta, cuerpos de solicitud y esquemas de respuesta.
El módulo depende de base_rest y datamodel, y requiere las librerías de Python apispec y marshmallow. Solo toca la capa de REST API; no se modifica ningún modelo de negocio de Odoo.
Lo necesitan otros módulos
Texto generado por IA (DeepSeek) al leer el código de la versión 16.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 5 confirmadas, 4 sin información de 9 versiones.
Fuentes · Odoo 13.0
Confirmado el 2026-11-03 en la rama 13.0 de OCA/rest-framework.
terminal Instalación y uso
Documentación de OCA · Odoo 16.0Para usar instancias de DataModel como petición y/o respuesta de un endpoint de servicio REST debes:
- Definir tus objetos DataModel;
- Proporcionar la información requerida al decorador
odoo.addons.base_rest.restapi.method;
from marshmallow import fields
from odoo.addons.base_rest import restapi
from odoo.addons.component.core import Component
from odoo.addons.datamodel.core import Datamodel
class PingMessage(Datamodel):
_name = "ping.message"
message = fields.String(required=True, allow_none=False)
class PingService(Component):
_inherit = 'base.rest.service'
_name = 'ping.service'
_usage = 'ping'
_collection = 'my_module.services'
@restapi.method(
[(["/pong"], "GET")],
input_param=restapi.Datamodel("ping.message"),
output_param=restapi.Datamodel("ping.message"),
auth="public",
)
def pong(self, ping_message):
PingMessage = self.env.datamodels["ping.message"]
return PingMessage(message = "Received: " + ping_message.message)Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación, Configuración.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.