问题标签 [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 回答
1516 浏览

ios - Siesta iOS POST 请求错误并显示“不支持的 URL”

我在使用 Siesta 时遇到问题 - iOS REST 客户端框架https://bustoutsolutions.github.io/siesta/

下面是对 REST API 服务器的 POST 请求的简单示例,该请求失败并显示“不支持的 URL”错误。有没有人有过午睡的经验,有什么问题?

午睡配置和登录服务器调用

调试日志

0 投票
1 回答
130 浏览

json - 午睡:儿童资源

我很难理解 Siesta 如何找出资源的孩子。例如,我有以下事件资源:

“/events”返回的 JSON

遗憾的是,例如,调用“/events/1”不会返回 id=2 的事件。有没有办法告诉 Siesta 哪个事件的 id=2?

0 投票
1 回答
571 浏览

json - 在 Siesta 中观察多个资源

在我的班级中,我有多个 Resource Siesta 对象,在我填充表格视图并启用用户输入之前,我希望所有这些对象都加载数据。

这是代码:

所以问题是在resourceChanged func中调用reloadData之前检查所有内容是否已加载的最佳方法是什么。谢谢。

0 投票
1 回答
865 浏览

swift - 午睡处理多个请求

我有一个循环向服务器发布请求:

问题是由于某种原因最后一个请求失败了,我猜这是由于同时向服务器发布了太多请求。

有没有办法链接这些请求,以便它们在执行下一个之前等待前一个完成?

我一直在研究 PromiseKit,但我真的不知道如何实现它,我正在寻找一个快速的解决方案。

0 投票
1 回答
1626 浏览

ios - 将 REST URL 模式映射到 Siesta 框架的模型对象的最佳方法是什么?

我想使用 ResponseTransformer(或其中的一系列)自动将我的对象模型类映射到从 Siesta 服务返回的响应,以便我的 Siesta 资源是我的模型类的实例。我有一个类的工作实现,但我想知道在为每种类型的资源(模型)构建单独的 ResponseTransformer 之前是否有更安全、更智能或更有效的方法来做到这一点。

这是一个示例模型类:

这是我构建的 ResponseTransformer,用于映射来自任何端点的响应,该端点返回此模型类型的集合或此模型类型的单个实例:

最后,这是我在配置 Siesta 服务时所做的 URL 模式映射:

我计划为每种模型类型构建一个单独的 ResponseTransformer,然后将每个 URL 模式单独映射到该转换器。这是最好的方法吗?顺便说一句,我对新的 Siesta 框架感到非常兴奋。我喜欢面向资源的 REST 网络库的想法。

0 投票
1 回答
1119 浏览

ios - 如何使用结构化模型层在 Siesta 中实现持久缓存

我正在使用(并且喜欢)Siesta 与我的 Swift 应用程序中的 REST Web 服务进行通信。我已经实现了一系列 ResponseTransformers 来将 API 调用响应映射到模型类,以便 Siesta 资源自动解析为对象实例。这一切都很好。

我现在想实现一个 Siesta PersistantCache 对象来支持离线模式,方法是让 Siesta 将这些对象缓存到磁盘(而不是内存中),方法是将它们存储在 Realm 中。我不确定如何执行此操作,因为文档说(关于 EntityCache.writeEntity 函数):

这种方法可以——而且应该——检查实体的内容和/或标题,如果它不可编码,则忽略它。虽然它们可以应用基于类型的规则,但是,缓存实现不应应用基于资源或基于url 的规则;用于Resource.configure(...)选择缓存哪些资源以及由谁缓存。

为了符合本指南,我在服务配置期间根据 URL 模式匹配为每种资源类型创建了一个特定的 PersistentCache 对象:

但是,由于 EntityCache 协议方法仅包含对实体的引用(它公开原始内容但不公开类型化对象),我看不出在调用 EntityCache.writeEntity 期间如何调用领域写入方法或如何拉在 EntityCache.readEntity 期间离开领域的对象。

任何有关如何解决此问题的建议将不胜感激。

0 投票
1 回答
453 浏览

xcode - Cocoapods 没有这样的模块 'Siesta'

我刚刚使用 cocoapods 安装了 Siesta (1.0-beta.4),但是当我尝试在 swift 文件中使用 import Siesta 导入它时,我收到此错误:No such module 'Siesta'

这是我的 Podfile:

我正在使用 xcode 7.2。

0 投票
1 回答
751 浏览

swift - Siesta 是否为分页提供任何特殊处理?

Siesta 如何处理分页 URL?是否有一种机制可以将多页结果作为单一资源进行管理?

0 投票
1 回答
638 浏览

siesta-swift - 身份验证令牌

我正在尝试设置一个简单的 iOS 示例来更好地理解 Siesta。我的 REST api 需要一个访问令牌来伴随每个请求。因此,(1)在应用程序启动时和(2)每当我检索 HTTP 401 时,我都需要请求访问令牌,然后将其放入所有未来的授权标头中。

从文档中处理此示例,我假设包含的行showLoginScreen是我需要调用 myauthenticationResource以检索令牌的位置但是如何在之后立即进行失败的调用(当然不是无限循环)?谢谢你。

0 投票
1 回答
721 浏览

ios - 如何在 Siesta 中定义内容转换器?

我只是在集成 Siesta,我喜欢它,它解决了我们在使用 RestKit 等框架时遇到的很多问题。

我无法理解的是如何使用内容转换器?我查看了文档和示例,但我不太明白它是如何工作的,我对 Swift 也很陌生。

查看从另一个 SO 回复中获取的示例:

我不太明白这里发生了什么,没有返回值,所以我不明白内容是如何被转换的。这可能是由于我缺乏深入的 Swift 知识。

我已经了解NSValueTransformer对象在 Obj-C 中的工作方式,但我不知道如何将响应 abit JSON 或简单的响应主体(如单个字符串、布尔值的数量)映射到对象或使用 Siesta 的类型。

我们有一些 API 响应在响应正文中只返回一个 BOOL 值,而大多数其他 API 响应是复杂的 JSON 对象图。

我将如何将这些响应映射到更原始的类型和或更复杂的对象。

谢谢。