Skip to Content
Menu
This question has been flagged
1 Reply
4452 Views

What am i doing wrongly with api code?

Every thing works well with Postman api test but I keep having session expired each time i called get controller function on Android App.

I always get a valid session id when authenticating user on ..... https://127.0.0.1/web/session/authenticate

I need guide please.

### My Code Below:###

from odoo import http

from odoo.http import request


class FieldWorker(http.Controller):
# Update Controller

@http.route('/update_worker', type='json', auth='user')

def update_worker(self, **rec):

    if request.jsonrequest:

        if rec['id']:

            fieldworker = request.env['field.workers'].search([('id', '=', rec['id'])])

            if fieldworker:

                fieldworker.write(rec)

            args = {'success': True, 'message': 'Fieldworker Updated'}

    return args


# Get Controller

@http.route('/get_fieldworkers', type='json', auth='user')

def get_fieldworkers(self):

    fieldworker_rec = request.env['field.workers'].search([])

    fieldworkers = []

        for rec in fieldworker_rec:

            vals = {

                'id': rec.id,

                'name': rec.name,

                'community': rec.community,

                'latitudes': rec.latitudes,

                'longitudes': rec.longitudes,

                'team_ids': rec.team_ids,

            }

            fieldworkers.append(vals)

        data = {'status': 200, 'response': fieldworkers, 'message': 'All Fieldworkers Fetched'}               return data

Avatar
Discard

Do you've got a proxy, like nginx?

Do you've got more than one database? and do you filter the database somehow?

Author

@ Blanco,

1. Yes, I use nginx

2. Yes, I did filter the databases like dbfilter = ^%d$

Best Answer

You need to pass that session id in the header of each request after authentication. I suggest you to open your log and when you attemp to get or post something your log will tell you what is missing

Avatar
Discard
Author

@ Abdullah,

I did passed the session id to each request header on the Android App but always get session expired

Related Posts Replies Views Activity
5
May 25
8716
0
Jul 22
5174
0
Jul 21
6693
3
Aug 19
5660
3
Feb 24
13528