HTTP 补丁中缺少 web2py request.post_vars
web2py request.post_vars missing in HTTP PATCH
我想利用 HTTP PATCH 来更新记录中的单个字段(将其与 PUT 区分开来,后者应更新整个记录)。但是,由于 gluon/globals.py:[=12 中的 parse_post_vars 中的这一行,post_vars(我计划保留更新的字段)似乎没有在请求对象中被解析=]
and env.request_method in ('POST', 'PUT', 'DELETE', 'BOTH')):
我们在该列表中没有 PATCH 是有原因的吗?
注意,request.post_vars
旨在成为一个类似字典的对象(从表单数据或 JSON 派生),但补丁文档不需要。例如,如果您发送 application/json-patch+json
类型的补丁,如 here 所述,生成的 Python 对象将是一个列表。
由于补丁文档格式灵活,请自行解析应用。您随时可以通过 request.body.read()
.
直接阅读补丁文档
我想 web2py 可以自动解析 application/merge-patch+json
类型的补丁文档(如 here). Feel free to post to the developer's list 关于这种可能性的描述。
我想利用 HTTP PATCH 来更新记录中的单个字段(将其与 PUT 区分开来,后者应更新整个记录)。但是,由于 gluon/globals.py:[=12 中的 parse_post_vars 中的这一行,post_vars(我计划保留更新的字段)似乎没有在请求对象中被解析=]
and env.request_method in ('POST', 'PUT', 'DELETE', 'BOTH')):
我们在该列表中没有 PATCH 是有原因的吗?
注意,request.post_vars
旨在成为一个类似字典的对象(从表单数据或 JSON 派生),但补丁文档不需要。例如,如果您发送 application/json-patch+json
类型的补丁,如 here 所述,生成的 Python 对象将是一个列表。
由于补丁文档格式灵活,请自行解析应用。您随时可以通过 request.body.read()
.
我想 web2py 可以自动解析 application/merge-patch+json
类型的补丁文档(如 here). Feel free to post to the developer's list 关于这种可能性的描述。