【发布时间】:2014-12-05 19:34:31
【问题描述】:
假设我有一个 Python 函数,它接受多个参数作为输入并返回一个输出。
现在我想要一个基于此功能的“网络服务”(API)。这意味着应该有一个可以使用一些参数调用的 URL,这些参数应该传递给函数,函数获取它们并计算相应的结果(输出)并将其传递回 Web 服务器,在它的反过来,将结果显示给用户(可能是另一个程序)。
如果一个简单的函数接受两个实值参数(例如x 和y)并返回一个实值结果,函数的调用可以通过 throw get 参数来组织。例如:
www.my_web_site.org/my_func_name?x=1.234&y=3.456
因此,我希望网页只包含一个实数。
但是,对于更复杂的输入,我应该怎么做并不是很明显。假设作为某些参数的值,我们可以有列表和字典。我应该如何在 URL 中对它们进行编码。我可以想象这样的事情:
www.my_web_site.org/my_func_name?x=[1,2,3,4]&y={1:'a',2:'b'}
但是,我不确定这是一个优雅的解决方案。有什么标准怎么做吗?也许我应该使用 XML 或 JSON 对输入进行编码。
同样的问题也适用于输出。假设我们可以有字典或列表甚至一个集合作为输出。我该如何表示。我应该只使用str(output) 还是有其他“标准”解决方案?
【问题讨论】: