Odoo中写controller时http和https有什么区别?有错误
In Odoo,what's the difference between the http and https when it comes to writing the controllers?There is an error
我在一个Odoo里写过控制器module.There在基于http的debug环境下使用postman测试接口没有问题。但是,有一些基于https.
在生产环境使用postman测试接口的问题
Python 版本 2.7.12
Odoo 版本 10.0
werkzeug 版本 0.11.11
这是我的 code.Please 帮助我,谢谢。
生产环境,协议为https。
controllers.py
# -*- coding:utf-8 -*-
from odoo.http import Controller
from odoo.http import route
from odoo.http import request
class PhotoPruner(Controller):
@route('/<string:type>/photo/size/<int:record_id>', type='http', auth='none', methods=['GET'], csrf=False)
def get_info(self, **kwargs):
type = kwargs.get('type')
record_id = kwargs.get('record_id')
return 'ok'
邮差测试
记录错误信息
调试环境,协议为http
没有问题。
时,我收到了 'ok'
Odoo 路由支持两种类型的请求,http
和 json
。您在生产中遇到错误可能是因为使用 https
甚至不支持的类型。当您在 Odoo 应用程序和 Odoo 应用程序的反向代理前面使用 Web 服务器 nginx
或 apache
时,您可能在 Web 服务器和应用程序通信之间使用 http
协议。检查你的nginx配置的proxy_pass
,可能反向代理是http://127.0.0.1:8069
(如果你是nginx,或者相应的apache虚拟主机配置行)。
关于Odoo web controller的更多信息,请参考Odoo官方documentation,特别提到请求类型可以是http
或json
。
我在一个Odoo里写过控制器module.There在基于http的debug环境下使用postman测试接口没有问题。但是,有一些基于https.
在生产环境使用postman测试接口的问题Python 版本 2.7.12
Odoo 版本 10.0
werkzeug 版本 0.11.11
这是我的 code.Please 帮助我,谢谢。
生产环境,协议为https。
controllers.py
# -*- coding:utf-8 -*-
from odoo.http import Controller
from odoo.http import route
from odoo.http import request
class PhotoPruner(Controller):
@route('/<string:type>/photo/size/<int:record_id>', type='http', auth='none', methods=['GET'], csrf=False)
def get_info(self, **kwargs):
type = kwargs.get('type')
record_id = kwargs.get('record_id')
return 'ok'
邮差测试
记录错误信息
调试环境,协议为http
没有问题。
时,我收到了 'ok'Odoo 路由支持两种类型的请求,http
和 json
。您在生产中遇到错误可能是因为使用 https
甚至不支持的类型。当您在 Odoo 应用程序和 Odoo 应用程序的反向代理前面使用 Web 服务器 nginx
或 apache
时,您可能在 Web 服务器和应用程序通信之间使用 http
协议。检查你的nginx配置的proxy_pass
,可能反向代理是http://127.0.0.1:8069
(如果你是nginx,或者相应的apache虚拟主机配置行)。
关于Odoo web controller的更多信息,请参考Odoo官方documentation,特别提到请求类型可以是http
或json
。