美文网首页
odoo controllers 接收Json格式请求

odoo controllers 接收Json格式请求

作者: NIGangJun | 来源:发表于2019-11-15 17:30 被阅读0次
  • 服务端接收参考

# 导包
from odoo import http
class HttpRequest(http.Controller):
    @http.route('/url', type='json', auth='public', website=True)
    def server_method(self, *args, **kwargs):
        # *args, **kwargs接收参数
        pass
# route中的参数可以参考odoo/http.py文件里def route(route=None, **kw)方法
# type在这里选择json

提供一个操作model(创建、修改)报权限问题的解决方法:

# 需要导入odoo
import odoo
# http.request.env['model'].create() 前加入下面这句话,会用超级管理员执行操作。若担心问题的话,可以使用登录的方法,这里暂不做演示
http.request.uid = odoo.SUPERUSER_ID
  • 客户端发送参考

import requests, json
data = {"params":param} 
# 这个param代表需要传入的参数,params这个key非常重要,只有带了这个key,服务端才能接受到参数
# 可以参考odoo/http.py文件里 class JsonRequest(WebRequest) 类,明确说明了
requests.post(url='http://localhost:8069/url', data=json.dumps(data))
# 说明一下,resquest中post这个api会根据data的数据类型自动转换请求头里Content-Type对应的参数

最后值得注意的地方

  • 服务端
    type='json'
  • 客户端
    data中一定要加入params
    数据需要转成Json

相关文章

网友评论

      本文标题:odoo controllers 接收Json格式请求

      本文链接:https://www.haomeiwen.com/subject/jhusictx.html