通过邮递员调用odoo控制器



我在尝试通过从邮递员呼叫来测试路由器时遇到困难

@http.route('/nails/login', type='json', auth="public")
def api_login(self, csrf=False, **kwargs):

并使用标头应用程序/JSON 调用邮递员

http://127.0.0.1:8070/nails/login

但日志总是返回

2018-07-02 14:30:38,123 26497 ERROR ? odoo.http: Exception during JSON request handling.
Traceback (most recent call last):
File "/home/ryu/odoo/odoo-server/odoo/http.py", line 640, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/ryu/odoo/odoo-server/odoo/http.py", line 1453, in _dispatch_nodb
func, arguments = self.nodb_routing_map.bind_to_environ(request.httprequest.environ).match()
File "/usr/local/lib/python2.7/dist-packages/werkzeug/routing.py", line 1573, in match
raise NotFound()
NotFound: 404 Not Found: The requested URL was not found on the server.  If you entered the URL manually please check your spelling and try again.
2018-07-02 14:30:38,128 26497 INFO ? werkzeug: 127.0.0.1 - - [02/Jul/2018 14:30:38] "POST /nails/login HTTP/1.1" 200 -

在调用任何 API 之前,您必须使用/web/session/authenticate使用 post 请求登录。出现上述错误的原因是odoo无法找到会话信息,因此无法找到要登录的数据库。 示例请求类型:

{
"params": {
"login": "admin",
"password": "admin",
"db": "odoo10"
}
}

最后,我通过在配置文件中添加它来解决它,曾经尝试但不确定为什么在此之前它不起作用。

[options]
dbfilter = my_db_name

最新更新