Ruby-API RestClient-JSON
刚刚开始进行API测试,并且一直在挣扎,习惯于只做前端selenium web驱动程序测试,但是,我需要了解API测试 我了解一些基本知识,比如Get将从url获取数据,post将数据发布到url,我认为这是正确的,但是,我可能错了 我遇到的问题如下:Ruby-API RestClient-JSON,ruby,json,api,rest,automated-tests,Ruby,Json,Api,Rest,Automated Tests,刚刚开始进行API测试,并且一直在挣扎,习惯于只做前端selenium web驱动程序测试,但是,我需要了解API测试 我了解一些基本知识,比如Get将从url获取数据,post将数据发布到url,我认为这是正确的,但是,我可能错了 我遇到的问题如下: response = RestClient.post 'http://jsonplaceholder.typicode.com/posts', {:title => 'mr', :first_name => 'bob', :s
response = RestClient.post 'http://jsonplaceholder.typicode.com/posts',
{:title => 'mr', :first_name => 'bob', :second_name => 'smith'}
data1 = JSON.parse(response)
p data1
所以我将restclient.post分配给响应变量,并将散列键、值对发布到url?然后我使用JSON解析响应,然后将响应打印到控制台。我需要做的是从散列中提取每个值,并将每个值打印到控制台,以便它以bob smith先生的身份显示数据。你能解释一下吗?我知道data1是变量,在方括号中它们是散列中的键,但是,您能解释一下这是如何打印键的值而不是键本身吗?当然。当您使用
“#{foo}”时,
foo将被计算。在本例中,我们正在访问键的值:data1[:title]
。谢谢,这是执行我所需操作的最佳方法,还是您可以迭代哈希,然后以这种方式打印每个值?你想这样工作吗?数据1.每做一件事,我都有同样的想法。对键进行迭代是没有意义的,因为散列没有顺序。使用方法包装字符串可能是有意义的。顺便说一句,这是错误的答案,但我发现了,我将更改代码,以便编辑是正确的。您能解释一下吗?我知道data1是变量,在方括号中它们是散列中的键,但是,您能解释一下这是如何打印键的值而不是键本身吗?当然。当您使用“#{foo}”时,
foo将被计算。在本例中,我们正在访问键的值:data1[:title]
。谢谢,这是执行我所需操作的最佳方法,还是您可以迭代哈希,然后以这种方式打印每个值?你想这样工作吗?数据1.每做一件事,我都有同样的想法。对键进行迭代是没有意义的,因为散列没有顺序。使用方法包装字符串可能是有意义的。顺便说一下,这是一个错误的答案,但我发现了,我将更改代码,以便编辑是正确的。
print "#{ data1[ :title ]} #{data1[:first_name]} #{data1[:second_name]}"