【问题标题】:1 request vs 2 requests to web service from iphone1 个请求与 2 个来自 iphone 的 Web 服务请求
【发布时间】:2013-07-02 21:07:12
【问题描述】:

我正在开发 iPhone 应用程序,我想找出执行以下操作的最佳逻辑方法:

当用户点击按钮时,我必须从应用程序将member_idevent_id 发送到网络服务。我正在使用NSURLConnection 及其委托方法。

有两件事需要发生:

  1. member_idevent_id)都需要插入到服务器上的表 A 中
  2. 基于event_id,Web 服务必须使用表 B 中的一组照片进行响应。

这样做的正确逻辑方法是什么?

  • 发出一个请求,让 Web 服务函数处理插入和响应 OR
  • 同时发出 2 个请求(1 个请求将插入到数据库中的函数,第二个请求将请求以照片响应的另一个函数)?

请记住,在这两个示例中,我只发送 member_idevent_id

【问题讨论】:

    标签: iphone ios web-services nsurlconnection


    【解决方案1】:

    第一步是设计一个 Web 服务 API。这听起来可能很简单,但情况恰恰相反。 “客户”从不做出这样的决定,而是“适应”。

    一旦 Web 服务 API 确定下来,您就尽最大努力在 iOS 上实现相应的客户端 API。

    因此,您最终的任务可能是发送一个内容为 JSON 的 POST 请求:

    {
        "member_id": 1234567,
        "event_id": 7654321
    }
    

    JSON 包含的内容由 Web 服务 API 定义。不要打扰 Web 服务正在用它做什么 - 只要给它它需要的东西。

    【讨论】:

    • 我正在设计 Web 服务,而这正是我产生疑问的地方。这样做的正确方法或最佳实践是什么。我了解流程,我只是想知道是否有正确的方法或错误的方法。我应该根据上面的示例为 1 个请求还是 2 个请求创建创建 Web 服务?
    • 如何设计 Web 服务是一个过于宽泛的问题,无法用简短而详细的答案来回答。试图回答您的问题:以 RESTful API 为目标。这基本上实现了 CRUD。例如,“Create”方法映射到 POST 请求。请求数据包含“事物”而不是“动作”。您在响应中得到的也是“事物”。因此,当用户点击该按钮时,问问自己:它是“创建”、“读取”、“更新”还是“删除”数据库中的“事物”? “事物”的属性是什么?
    • 两者兼得。一键点击按钮,它必须创建和阅读。那应该是 2 个请求还是 1 个请求。我知道我可以两种方式都做,但标准的正确方法是什么。
    猜你喜欢
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多