İçereği Atla
Menü
Bu soru işaretlendi
3 Cevaplar
39895 Görünümler

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?  

Avatar
Vazgeç
Üretici En İyi Yanıt

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

Avatar
Vazgeç
En İyi Yanıt

You can get the request body by using this

request.jsonrequest


Avatar
Vazgeç
En İyi Yanıt

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?

Avatar
Vazgeç

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

İlgili Gönderiler Cevaplar Görünümler Aktivite
0
Şub 17
14504
1
Mar 15
13865
1
Haz 25
2305
2
Haz 25
657
1
May 25
954