تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
3 الردود
39866 أدوات العرض

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?  

الصورة الرمزية
إهمال
الكاتب أفضل إجابة

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

الصورة الرمزية
إهمال
أفضل إجابة

You can get the request body by using this

request.jsonrequest


الصورة الرمزية
إهمال
أفضل إجابة

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?

الصورة الرمزية
إهمال

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

المنشورات ذات الصلة الردود أدوات العرض النشاط
0
فبراير 17
14480
1
مارس 15
13860
1
يونيو 25
2286
2
يونيو 25
632
1
مايو 25
942