我继承了这段代码,我知道这是为假api调用创建一个存根。我不明白它是如何工作的。它只能返回JSON吗?我能否仅仅为200次成功做出回应?有没有关于此的文件?
class GuessTransaction < ActiveRestClient::Base
request_body_type :json
get :all, '/transaction', fake: [{last_name:"Durdan", first_name:"Tyler"}]
get :find, '/transaction/:id', fake: {id: "1", first_name:"Tyler", last_name: "Durdan"}
post :create, '/transaction', fake:->(request) { {id: 12345 } }
end
答案 0 :(得分:2)
如果您阅读了active-rest-client
的文档
你可以找到这个:
有时候还没有开发API,所以你想要 伪造API调用响应。要做到这一点,你可以简单地传递假货 映射包含响应的调用时选项。
class Person < ActiveRestClient::Base
get :all, '/people', fake: [{first_name:"Johnny"}, {first_name:"Bob"}]
end
您可能希望在伪造数据时运行proc(从中输入信息) 响应中的参数或返回不同的响应 取决于参数)。 要执行此操作,只需将proc传递给:fake :
class Person < ActiveRestClient::Base
get :all, '/people', fake: ->(request) { {result: request.get_params[:id]} }
end
答案 1 :(得分:1)
基于active-rest-client
的{{3}}。
<强>摘录强>
return handle_response(
OpenStruct.new(
status:200,
body:fake,
response_headers:{
"X-ARC-Faked-Response" => "true",
"Content-Type" => content_type
}
)
)
它似乎总是以200
回复,因此您可以执行类似fake:{}
这将以200
和空body
作为回复。
即使fake: true
也可以。