https://github.com/OCA/rest-framework/tree/13.0
rest-framework和odoo的集成
OCA/rest-framework这个rest-framework框架可以帮助我们在odoo框架的基础上快速开发符合restful规范的接口
以下这些模块文件下都有对应的readme文件以及usages文件可以看
这个addon为odoo提供了开发高级rest api的基础
This addon provides the basis to develop high level REST APIs for Odoo.
至少有两个类需要继承
1 首先在controller中定义有哪些路由,然后调用self._process_method()方法跳转到model中的Component类下的对应的方法
2 其中可以对数据做一些验证,在model中指定方法前缀为_validator_xxx的方法对xxx方法进行参数类型指定
1 使用restapi.method装饰器,在model中可以显示的暴露方法对应的路由方法是啥以及可以在装饰器参数中指定待装饰的方法对应的数据validator方法是啥。
2 还可以导入Datamodel库以及marshmallow库下的fields,对数据进行验证
This addon allows you to use DataModel objects as params and/or response with your REST API methods.
Datamodel是可以用来被继承以及搭配marshmallow下的fields对象去对数据做一些验证
1 在model中继承Datamodel模型并_name重新生成新模型,搭配fields,可以被用作对request数据做验证。
2 同上再生成一个新模型,可以对response数据做验证。
3 在restapi.method装饰器中指定参数input_param和output_param为上述两个模型即可。
This addon allows you to define simple data model supporting serialization/deserialization to/from json
Datamodel are Marshmallow model classes that can be inherited as Odoo Models.
datamodel可以被继承 以及可以在odoo的model class 下通过env辅助属性被调用,以及在datamodel下 也可以通过env属性去调用odoo的model
这两个插件模块目前没有进行使用
GraphQL是一个用于API的查询语言
This modules enables the creation of GraphQL endpoints. In itself, it does nothing and must be used by a developer to create the GraphQL schema and resolvers using graphene, and expose them through a controller. An example is available in the graphql_demo
module.
rest 日志。可以用于记录错误、请求细节、响应细节。