问题标签 [siesta-swift]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
901 浏览

ios - 如何为包含 JSON 数组的 API 端点创建 Siesta 转换器?

0 投票
1 回答
88 浏览

siesta-swift - 如何访问不在我的 Siesta 资源中我的 API 的 JSON 列表中的图像 URL?

我正在使用 Siesta 和一个 API,它为根实体返回一个非常轻量级的列表响应。例如,/entity这是响应的样子:

在结果中找到的完整对象url有一个avatar属性,我真的很想在我的表格视图中显示这个列表,但我不知道如何使用 Siesta 框架实现这一点。/entity/1作为加载列表资源的一部分,是否可以从底层端点获取更多详细信息/entity

0 投票
2 回答
862 浏览

siesta-swift - 如何模拟资源响应?

在我的应用程序中,我有一个封装 aService并具有返回资源和请求的方法的类。在我的测试中,我想在不进行任何实际网络调用的情况下模拟请求和资源的成功/失败。
由于是一个协议,因此很容易通过返回一个只调用等Request的自定义实现来做到这一点。onSuccessonFailure

但是,返回 a 的方法并不是那么简单Resource,因为Resource它是最终类而不是协议。
我想创建一个在调用 etcResource时不执行任何真实网络请求的模拟load(),并公开某种方式来伪造成功/失败,从而触发添加到Resource.

目前有没有办法做到这一点?

0 投票
1 回答
85 浏览

ios - 我应该如何处理 Siesta 中的部分 EntityCache 命中?

我有一个端点,可以在其中请求使用 Siesta 查询的多条数据(例如https://example.com/things?ids=1,2,3)。如果我只有一些缓存,我正在尝试找出我的持久实体缓存的正确行为things。因此,如果我缓存了事物 1 和事物 2,但没有缓存事物 3,我想返回部分命中并让 Siesta 也使用原始 URL 查询我的服务器。但是,我的理解是,如果EntityCache.readEntity返回任何内容,则 Siesta 假定查询已完全完成,并且不会继续发出网络请求。

有没有一种好方法可以让我实现部分命中,或者我需要从服务器返回nilreadEntity等待服务器的响应?

0 投票
1 回答
542 浏览

json - Swift Siesta 编辑获取的实体

我正在 Xcode 8 上使用Siesta和 Swift 3 构建 API 客户端。我希望能够使用 Siesta 资源获取实体,然后更新一些数据并对patchAPI 执行操作。

问题是拥有一个实体,如果我将 JSON 数组保存在我的实体字段中,我无法将它们发送回服务器,我会收到以下错误:

我的实体是:

我正在做的是:

资源:

变形金刚:

我已经设法通过创建字典结构来圈出这个:

但是如果我需要修改任何东西,我会生活在沮丧之中:

如何使用 Siesta 发送那些原始 JSON 数组?它们真的很容易修改和阅读!我浏览了午睡文档和 github 问题,但没有成功...

0 投票
1 回答
162 浏览

siesta-swift - 缓存来自单个请求的多个资源

假设我正在发出一个请求,/products.json该请求返回一个包含 X 个产品的 JSON 数组。每个都可在/product/[id].json。是否可以让午睡缓存该信息而不是为每个产品发出请求?还是我必须将我的模型与其资源分开缓存?

0 投票
1 回答
1694 浏览

xcode - Swift 结构:模块中没有名为“Business”的类型

我正在使用 Swift 3 和 Xcode 8.1 构建一个项目。首先,我在框架上使用 Siesta 创建了一个 API 客户端,并将其包含在我的邮件项目中,但是当我尝试使用框架中的结构进行向下转换时,我得到一个错误No type named 'Business' in module 'ApiClient',我尝试过使用它,ApiClient.Business但是没有成功...

我的框架与 carthage 注入的另一个依赖项一起位于工作区中,我可以从中调用另一个实例(如 API 本身),但我需要访问它才能向下转换结果。我还尝试在Link Binary With LibrariesCompile SourcesEmbed FrameworksEmbedded BinariesLinked Frameworks and Libraries下添加框架,但无法使其工作......

这是我的代码

0 投票
1 回答
422 浏览

ios - 带有多个 url 参数的 Siesta iOS GET 请求

我正在尝试使用 Siesta 发送带有多个 url 参数的POST请求。

问题是即使 此处提供了解决方案,它也仅显示了单个参数的示例。所以我的问题是,有没有其他方法可以添加多个参数,或者我应该withParam()多次使用?

例如 .withParam("myparam", "1").withParam("myparam2", "1").withParam("myparam3", "1")...

我问是因为使用withParam()多次看起来有点乱,虽然它有效=)

0 投票
1 回答
270 浏览

ios - 从基于 Siesta 实体的 JSON 初始化领域对象失败

我正在使用Siesta从我的服务器获取资源。我正在按照用户指南配置转换器以自动将 JSON 字符串转换为领域对象。

它适用于单个对象,但不知何故,这些对象的数组失败了。

这是我的精简模型:

还有午睡变压器,如示例所示,在我的Service子类中:

JSON是由SwiftyJSON定义的数据类型。

我得到的疯狂错误信息:

但该死的uuid钥匙在这里!?我错过了什么?非常感谢您的帮助。

0 投票
1 回答
1080 浏览

ios - 为 Siesta 资源配置请求方法

我有这个 api,登录通过 post 工作,而大多数其他请求使用 get。现在我使用 siesta 将登录 url 定义为资源。

问题是当我在这个资源上使用 .loadIfNeeded() 时,它会发出一个 get 请求,但这不起作用,因为它需要是一个 post 请求。

现在我知道 .decorateRequests 的存在,但我不确定如何使用它来使我的登录资源使用 post 作为请求方法。

提前致谢,

彼得