Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
3 Răspunsuri
39884 Vizualizări

Hello, I am trying to create a route allowing "POST" requests on Odoo. The code I have so far is the following:

class SubscriptionRoutes(http.Controller):
@http.route('/subscription/update', type="json", auth='public', methods=['POST'])
def some_html(self, **kw):
return {
'success': True,
'status': 'OK',
'code': 200
}


The request I am sending through Postman has Content-Type = application/json and the following body:

{

"id": "test"

}

How do i access the request's body's data on my controller?  

Imagine profil
Abandonează
Autor Cel mai bun răspuns

I solved the problem, by changing the request's body to {"params":{"id":"test"}} and was then able to retrieve the data from http.request.params

Imagine profil
Abandonează
Cel mai bun răspuns

You can get the request body by using this

request.jsonrequest


Imagine profil
Abandonează
Cel mai bun răspuns

what if i cannot change the request's body to wrap all the params inside 'params' (cause the request is done by a third-party). How would I access plain json body params?

Imagine profil
Abandonează

@Niyas Raphy If i do `_logger.info(kw)` I get `{}` despite I'm sending some params

Related Posts Răspunsuri Vizualizări Activitate
0
feb. 17
14490
1
mar. 15
13862
1
iun. 25
2296
2
iun. 25
638
1
mai 25
947