【问题标题】:How to get the responses of an API call (shopify)?如何获取 API 调用(shopify)的响应?
【发布时间】:2015-06-02 20:00:14
【问题描述】:

我已经使用 Rails 大约一个星期了,找到了许多很好的教程,但没有找到任何关于我当前问题的信息。 我正在运行一个网上商店,可以通过 shopify 控制台访问它:

      ShopifyAPI::Customer.find(674469828)
      -> will return the customer with the id 674469828

如果我在我的 rails 应用程序中使用相同的代码,则不会发生任何事情。我想获取此 API 调用的错误消息,但不知道如何执行此操作。我的意思是我正在向服务发送 POST 请求并得到响应(例如 HTTP/1.1 200 OK)。
如何在我的代码中“捕获”http 响应?如何显示响应标头?我可以使用简单的 http 请求并轻松获得响应,但如果有 API,为什么不使用它。
如有任何帮助,我将不胜感激。

【问题讨论】:

    标签: ruby-on-rails api shopify


    【解决方案1】:

    假设您已使用 API 凭据等设置您的应用,您可以通过将响应分配给变量来“捕获”响应,如下所示:

    customer = ShopifyAPI::Customer.find(674469828)
    # now we can play around with the customer object
    
    customer.name # => "Jimmy" 
    

    如果这无济于事/没有抓住重点,请发布一条特定的错误消息或服务器输出,说明您正在处理您提出的特定请求。

    【讨论】:

    • 我就是这么想的。我正在尝试 cust = ShopifyAPI::Customer.find(self.global_id) 后来我尝试使用 cust.destroy 删除用户,但什么也没发生。我不知道为什么,因为完全相同的代码在控制台中工作。希望以某种方式收到错误消息
    • 什么是self?代码在哪里(模型、控制器、什么?)以及它是如何使用的?您可以在您的问题中发布确切相关的 sn-p 和上下文吗?运行此代码时,您应该能够在服务器控制台(您在其中键入 rails s 的选项卡)中看到对您的请求的响应。
    • 我正在我的应用程序中创建请求。 “创建”、“更新”和“删除”。我在表单中输入我需要的信息并提交数据并将其传递给我的模型“请求”。我有一个 switch case 语句(现在),并使用给定的数据进行 API 调用。我可以创建用户,但我找不到任何用户,即使我可以通过 shopify 控制台。在服务器控制台中,我只获得提交表单的 OK 状态,而不是来自 API 的实际响应。
    • Welp,这很尴尬。我刚刚添加了 flash[:error] = @request.errors.full_messages.join(' ') 以查看创建过程中可能出现的错误。突然“电子邮件无效”弹出。我忘记了我为接受表单中的有效电子邮件而编写的验证方法,当然它不允许我发布带有空电子邮件的表单。验证不允许我发布我的请求,我为自己感到羞耻。无论如何感谢您的时间
    猜你喜欢
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多