jsonrequest和httprequest之间有什么区别?
我正在检查OpenERP-7.0和OpenERP-6.1中web模块控制器中的文件。然后我发现6.1使用jsonrequest(@openerpweb.jsonrequest)7.0使用httprequest(@openerpweb.httprequest)。两者之间的区别是什么?我没有研究OpenERPv7,但OpenERPv6.1同时使用-HttpRequest和JsonRequest。我想OpenerPv7也是一样的 它们都是关于客户端和服务器之间的通信。HttpRequest通过众所周知的GET和POST方法进行通信。这意味着:jsonrequest和httprequest之间有什么区别?,json,http,openerp,Json,Http,Openerp,我正在检查OpenERP-7.0和OpenERP-6.1中web模块控制器中的文件。然后我发现6.1使用jsonrequest(@openerpweb.jsonrequest)7.0使用httprequest(@openerpweb.httprequest)。两者之间的区别是什么?我没有研究OpenERPv7,但OpenERPv6.1同时使用-HttpRequest和JsonRequest。我想OpenerPv7也是一样的 它们都是关于客户端和服务器之间的通信。HttpRequest通过众所周知
- 客户端发送url(GET方法)或http正文(POST方法)中编码的请求
- 服务器返回与请求相对应的对象。可以是html页面、PNG图像、CSS文件、JavaScript、XML编码数据或其他内容
@openerpweb.jsonrequest
def formats(self, req):
""" Returns all valid export formats
:returns: for each export format, a pair of identifier and printable name
:rtype: [(str, str)]
"""
...
此方法接受一些参数并返回包含所有已知导出格式的列表(Python列表对象)。它将在客户端的一些python代码中以编程方式调用
另一方面是“http”方法,如web.controllers.main.web类的方法css():
@openerpweb.httprequest
def css(self, req, mods=None):
....
此方法所做的只是将CSS文件返回给客户端。这是一个简单的操作,就像访问图像、HTML网页或服务器上的任何其他资源一样。我们在这里返回的资源与前一个示例中的Python列表没有什么复杂之处。我们不需要特殊的格式来对其进行额外编码。因此,我们不需要额外的数据编码格式JSON和远程过程调用协议JSON RPC 嗨,谢谢你的回答。我知道jsonrequest和httprequest都是用于通信的。我需要知道decorators(@openerp.jsonrequest和@openerpweb.httprequest)之间有什么区别,以及为什么两者都被使用?@OmaL:嗨,我想用比你需要的更详细的方式回答你,但请看我在回答中的编辑我不知道openerp,因此我不会给你答案,但有一个建议:使用Fiddler检查通过网络传输的HTTP请求/响应。