我刚开始进入Python中的CherryPy模块领域。使用RESTful api设置服务器是多么容易,但我遇到了一个问题。我的代码只承认查询字符串中的第一个参数。
我想这样做一个GET请求:
import cherrypy
class getSum:
exposed = True
def GET(self, **params):
a = float(params['a'])
b = float(params['b'])
return a+b
if __name__ == '__main__':
cherrypy.tree.mount(getSum(), '/api/sum/', {'/': {'request.dispatch': cherrypy.dispatch.MethodDispatcher()}})
cherrypy.engine.start()
cherrypy.engine.block()
我的Python代码如下:
params
在摆弄代码一段时间后,我得出以下诊断: 当查询字符串被读入{{1}}时,而不是在字典到达''时在字典中开始新条目。它只是停下来了。
有没有人对如何在单个查询字符串中读取多个参数有任何建议?
谢谢,肖恩。
答案 0 :(得分:0)
我的问题中发布的Python脚本实际上是我想要做的工作实现。问题在于我正在制作卷曲请求。
'&'我的curl请求中的字符是截断我的bash命令,导致:curl -X GET 127.0.0.1:8080/api/sum/?a=2
对此的修复是将我的网址包含在引号中,如下所示:curl -X GET "127.0.0.1:8080/api/sum/?a=2&b=3"
执行此命令时,5.0
将按预期返回到终端。
以下帖子包含有关在curl请求中使用&符号的有用讨论:How to include an '&' character in a bash curl statement