跳转到主要内容

base_rest的Datamodel绑定

项目描述

Beta License: LGPL-3 OCA/rest-framework Translate me on Weblate Try me on Runbot

此插件允许您使用DataModel对象作为REST API方法的参数和/或响应。

目录

用法

要使用DataModel实例作为REST服务端点的请求和/或响应,您必须

  • 定义您的DataModel对象;

  • 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)

错误追踪

错误在GitHub Issues上进行跟踪。如果在遇到问题时,请检查是否已报告了您的问题。如果是第一次发现,请通过提供详细且受欢迎的反馈来帮助我们解决这个问题。

请不要直接联系贡献者以获取支持或帮助解决技术问题。

致谢

作者

  • ACSONE SA/NV

贡献者

维护者

此模块由OCA维护。

Odoo Community Association

OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。

此模块是OCA/rest-framework项目在GitHub上的一部分。

欢迎您做出贡献。有关如何进行贡献的信息,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

本发布版本没有提供源代码分发文件。请参阅生成分发存档的教程。

构建分发

由以下支持