我正在使用Flask创建一些非常简单的服务。从外部测试(使用HTTPie)参数通过querystring到达服务。
但如果我用的是类似的东西。
data = {
'param1': 'somevalue1',
'param2': 'somevalue2'}
response = self.client.get(url_for("api.my-service", **data))
我可以看到正在创建的正确URI:
http://localhost:5000/api1.0/my-service?param1=somevalue1¶m2=somevalue2
当我中断到服务时:
request.args
实际上是空的。
通过在我配置的烧瓶应用程序上调用app.test_client()
创建self.client
。
有人知道为什么?
之后的东西会被扔掉,或者在使用test_client
时如何处理?
我知道这是一个老职位,但我也遇到了这个。烧瓶里有一个公开的问题。看来这是故意的行为。从问题线程中的响应:
mitsuhiko于2013年7月24日发表评论
这是目前的预期行为。测试客户端的第一个参数应该是一个相对的url。如果不是,那么参数将被删除,因为它被视为与第二个连接的url。有效:
将绝对url转换为相对url并保留查询字符串的一种方法是使用urlparse:
我刚找到一个解决办法。
制造
进入这个:
这是可行的,但似乎有点不直观,并且在某个地方调试时,URI中提供的查询字符串会被丢弃。。。。
但不管怎么说,这暂时有效。
相关问题 更多 >
编程相关推荐