yuri
yuri

Reputation: 3420

Odoo controllers avoid json-rpc when type="json"

I've the following route:

@http.route([
    '/whatever/create'
], auth="none", type='json', methods=['POST'], csrf=False)

which I'm using to send a post request with json data on its body.

Is there any way to avoid using json-rpc responses on routes of type="json"? I would like to just answer plain json.

If it is not possible, is there any way to get the json data placed on the body request by using `type="http"?

Upvotes: 1

Views: 589

Answers (1)

Vishnu VaNnErI
Vishnu VaNnErI

Reputation: 931

@http.route('/whatever/create', auth='public', methods=['POST'], type='http')
 def index(self, **kw):
    data = request.httprequest.data
    return 'success'

Above code defined in Odoo

url = "http://localhost:8069/whatever/create"

param = {
    "type_operation": "PTI",
    "label": "",
}
headers = {'Content-type': 'text/plain'}
r = requests.post(url, data=json.dumps(param), headers=headers)

Above code i have requested from a py file

While sending request you should change Content-type

'Content-type': 'application/json' --- > 'Content-type': 'text/plain'

Also while returning it only accept String

return {'status': 'success'} ---> return 'success'

Upvotes: 2

Related Questions