İçereği Atla
Menü
Bu soru işaretlendi
3 Cevaplar
39940 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
14552
1
Mar 15
13934
2
Ağu 25
2397
2
Haz 25
707
1
May 25
975