通过邮递员致电odoo控制器

时间:2018-07-02 14:43:38

标签: postman odoo

尝试通过邮递员致电来测试路由器时,我陷入了困境

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

并使用标题application / 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 -

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

[options]
dbfilter = my_db_name