通过 Postman 调用 odoo 控制器

Pho*_* Vy 3 postman odoo

我在尝试通过 Postman 呼叫测试路由器时卡住了

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

并使用标题应用程序/ json 调用邮递员

http://127.0.0.1:8070/nails/login
Run Code Online (Sandbox Code Playgroud)

但日志总是返回

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 -
Run Code Online (Sandbox Code Playgroud)

Bha*_*ran 5

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

{
  "params": {
    "login": "admin",
    "password": "admin",
    "db": "odoo10"
  }
}
Run Code Online (Sandbox Code Playgroud)