【问题标题】:Using Siesta with a non-restful API将 Siesta 与非 RE​​STful API 一起使用
【发布时间】:2017-08-22 22:45:06
【问题描述】:

我知道这可能是一个很长的尝试,但是是否可以将 Siesta 与完全非 RESTful API 一起使用?我必须使用的 API(并且不在我的控制范围内,因此很遗憾无法更改)要求每个请求都是 POST 请求,无论它是否纯粹是检索数据。

我已经阅读了问题/答案here,这给了我一线希望,但是该问题与我的问题之间的最大区别在于每个请求的端点。对于我使用的 API,它们都是一样的 :(

每个请求都必须 POST 到 /api/api_post.php,其他所有内容都指定为请求中提供的参数。

显然我可以使用自己的请求包装器来处理这个问题,但我希望能够使用 Siesta 提供的一些功能,而不必担心处理网络的所有烦恼。有没有办法做到这一点,还是我不走运?

【问题讨论】:

    标签: ios swift3 siesta-swift


    【解决方案1】:

    您可以让您的应用与虚构的 REST API 一起工作,然后将其转换为 Siesta 眼皮底下的非 RESTful 请求。 (例如,GET /foo/3 可能会转换为 POST /api/api_post.phpitem=foo&id=3。)这有点麻烦,但即使对于非 REST API,它也能让您享受 Siesta 的好处。

    有两种方法可以实现:

    1. 使用mutateRequests(…) 重写请求。这让您可以在发送之前任意更改URLRequest
    2. 写你自己的NetworkingProvider。这有点麻烦,但对重写提供了更多的批发控制。例如,如果您还需要重写响应,或者必须将一个虚拟请求转换为多个真实请求,这种方法可能更合适。

    更多内容请关注discussion here

    【讨论】:

    • 啊,太好了,谢谢!我会通读这些,希望我能得到一些配置:)
    猜你喜欢
    • 2019-06-30
    • 2016-03-05
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多