使用Siesta和不安静的API

使用Siesta和不安静的API

问题描述:

我知道这可能是一个很长的时间,但是有可能使用完全非RESTful API的Siesta吗?我必须使用的API(并且不在我的控制下,因此可悲地无法更改)要求每个请求都是POST请求,而不管它是否纯粹检索数据。使用Siesta和不安静的API

我已通读问题/答案here,这给了我一线希望,但是这个问题和我的问题之间的巨大差异是每个请求的端点。对于我使用的API,他们都是一样的:(

每一个请求必须POST到/api/api_post.php,和其他一切被指定为在请求中提供的参数。

很显然,我可以滚动我自己的请求包装来处理这个问题,但是我希望能够使用Siesta提供的一些功能,而不必担心处理网络的所有烦恼。是否有任何方法可以做到这一点,或者我运气不好?

您可以让您的应用程序使用一个虚构的REST API,然后将其转换为Siesta鼻子下面的不平稳请求(例如,GET /foo/3可能是tr与item=foo&id=3对应POST /api/api_post.php)。这有点麻烦,但它确实为您提供了Siesta的好处,即使对于非REST API也是如此。

有两种方法来实现这一点:

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

更多的discussion here

+0

啊完美谢谢你!我会通读这些,希望我能得到一些配置:) – PaReeOhNos