【问题标题】:Webhook : how to display the response in my viewWebhook:如何在我的视图中显示响应
【发布时间】:2019-12-26 09:21:40
【问题描述】:

我正在使用允许我检查用户是否连接到任何帐户(亚马逊、Ebay、Prestashop 等)的 API。 建立连接后,我会在 JSON 中收到一个 webhook,如下所示:

 Parameters: {"connection"=>{"informations"=>{}, "connector_uuid"=>"3180ba23-2b75-5abe-b14d-69a42835474d", "id_user"=>626, "created"=>"2019-12-26 10:03:41", "id_provider"=>940, "error_message"=>nil, "last_push"=>nil, "last_update"=>"2019-12-26 10:03:45", "connector"=>{"sync_frequency"=>nil, "code"=>nil, "uuid"=>"3180ba23-2b75-5abe-b14d-69a42835474d", "documents_type"=>["bill"], "color"=>"c8ee20", "auth_mechanism"=>"credentials", "capabilities"=>["document"], "id"=>470, "available_auth_mechanisms"=>["credentials"], "beta"=>true, "months_to_fetch"=>nil, "urls"=>["https://addons.prestashop.com"], "siret"=>nil, "hidden"=>false, "charged"=>true, "slug"=>"PRE", "categories"=>[], "name"=>"PrestaShop"}, "active"=>true, "state"=>nil, "expire"=>nil, "accounts"=>[], "error"=>nil, "subscriptions"=>[{"id_source"=>604, "documents"=>[], "id_user"=>696, "deleted"=>nil, "id_connection"=>708, "number"=>"test01@gmail.com", "validity"=>nil, "label"=>"test@gmail.com", "subscriber"=>"John Doe", "currency"=>nil, "disabled"=>nil, "error"=>"bug", "id"=>550, "formatted_balance"=>nil, "renewdate"=>nil, "balance"=>nil, "last_update"=>nil}], "next_try"=>"2019-12-27 14:03:45", "id_connector"=>440, "id"=>608}, "push_type"=>"partial_history", "user"=>{"signin"=>"2019-12-26 10:03:08", "platform"=>"sharedAccess", "id"=>626}, "invoice"=>{"connection"=>{"informations"=>{}, "connector_uuid"=>"3180ba23-2b75-5abe-b14d-69a42835474d", "id_user"=>926, "created"=>"2019-12-26 10:03:41", "id_provider"=>480, "error_message"=>nil, "last_push"=>nil, "last_update"=>"2019-12-26 10:03:45", "connector"=>{"sync_frequency"=>nil, "code"=>nil, "uuid"=>"3180ba23-2b75-5abe-b14d-69a42835474d", "documents_type"=>["bill"], "color"=>"c8ee20", "auth_mechanism"=>"credentials", "capabilities"=>["document"], "id"=>440, "available_auth_mechanisms"=>["credentials"], "beta"=>true, "months_to_fetch"=>nil, "urls"=>["https://addons.prestashop.com"], "siret"=>nil, "hidden"=>false, "charged"=>true, "slug"=>"PRE", "categories"=>[], "name"=>"PrestaShop"}, "active"=>true, "state"=>nil, "expire"=>nil, "accounts"=>[], "error"=>nil, "subscriptions"=>[{"id_source"=>699, "documents"=>[], "id_user"=>926, "deleted"=>nil, "id_connection"=>608, "number"=>"test01@gmail.com", "validity"=>nil, "label"=>"compere01@gmail.com", "subscriber"=>"John Doe", "currency"=>nil, "disabled"=>nil, "error"=>"bug", "id"=>550, "formatted_balance"=>nil, "renewdate"=>nil, "balance"=>nil, "last_update"=>nil}], "next_try"=>"2019-12-27 14:03:45", "id_connector"=>490, "id"=>908}, "push_type"=>"partial_history", "user"=>{"signin"=>"2019-12-26 10:03:08", "platform"=>"sharedAccess", "id"=>626}}}

你知道如何在我的视图中显示这个JSON 吗?

我试过了,在我的控制器中:

def webhooks
  render json: response.body, status: 200
  puts  response.body.inspect
end

但在我看来,什么都没有发生,我的控制台中有 JSON,但我的 puts 渲染了一个空字符串。

【问题讨论】:

  • 你得到JSON作为参数,你需要渲染参数而不是response.body

标签: ruby-on-rails json ruby webhooks


【解决方案1】:

params 而不是 response.body

def webhooks
  render json: params, status: 200
  puts  params
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2023-02-06
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多