0

最近我一直在努力使用 Python 和 Flask 为我们的最终用户公开一个 RESTful API。此时,只有 GET 方法,没有 POSTing ......直到现在。

向我提出的一个有趣请求是确定是否可以接受 GET 请求,该请求输出到 JSON 并将其作为 POST 请求重定向回另一个 Web 服务。

如果有意义的话,可以把它想象成通过 Web 服务复制数据。或者可能像“GET-redirect data-POST”。

为了进一步推动这一点,我有一个简单的 GET 请求:

urllib2.Request("http://localhost:5000/request/security/773/20110101")

输出是 JSON,我想获取该数据并将其 POST 回:

http://localhost:5000/submit/transaction/773/20110101

假设数据映射是一对一的(确实如此)。有没有办法在服务器端进行一次调用?这甚至是一件聪明的事情吗?只是寻找想法,想法和评论。

4

1 回答 1

1

看起来很简单。为什么不从您的请求/安全处理程序中发布帖子?

def request_security_handler():
    ....
    data = "Data"
    urllib2.Request("/submit/transaction/773/20110101", data)
    return data

如果发布是可选的,您可以执行以下操作:

urllib2.Request("http://localhost:5000/request/security/773/20110101?RepostResultTo=/submit/transaction/773/20110101")

接着:

def request_security_handler(RepostResultTo):
    ....
    data = "Data"
    urllib2.Request(RepostResultTo, data)
    return data

在任何情况下,这都是与服务器的单次往返,服务器将不得不对自己进行 POST。客户端将无法从 GET 获取结果,然后执行 2 次往返的 POST。

于 2012-07-25T20:09:38.917 回答