Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
39904 Lượt xem

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?  

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhấ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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

You can get the request body by using this

request.jsonrequest


Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhấ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?

Ảnh đại diện
Huỷ bỏ

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

Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 2 17
14527
1
thg 3 15
13873
2
thg 8 25
2340
2
thg 6 25
669
1
thg 5 25
959