问题标签 [restkit]

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 投票
3 回答
1688 浏览

iphone - primaryKeyAttribute 不工作 Restkit/核心数据

我刚刚安装了框架 restkit 0.9.3 并按照讨论板示例进行操作。好吧,一切都很好,但是当我尝试使用 Core Data 时,即使在声明了他的 primaryKeyAttribute (userID) 之后,我的 User NSManagedObject 类仍在复制。例如,当我向我的网络服务器发送登录请求时,我返回{"user":{"id":1, "username":"teste", ...}}.. 但它似乎每次调用 objectLoader:didLoadObjects 时都会创建一个新行。

用户表:

在此处输入图像描述

示例代码:

~ AppDelegate.m didFinishLaunching

~ User.m loginWithDelegate

~ User.m didLoadObjects (RKObjectLoaderDelegate)

我究竟做错了什么?

0 投票
1 回答
791 浏览

date - restkit 和 iso 日期

我无法使用 rest kit 从我的 json api/mongodb 解析 iso 日期。

我要返回的 iso 日期字符串是“2011-11-15T04:00:00Z”,它不会在我的对象中转换为 nsdate,显示为 null。

如果我无法在 api 的服务器端格式化我的日期字符串,推荐的解决方法是什么?

0 投票
1 回答
316 浏览

mapping - Rails 3.1 & RestKit 0.9.3 - 引用映射

我有以下场景:我有一个 Rails Web 门户(Rails 3.1),我使用 RestKit 0.9.3(最新版本)从 iOS 设备连接门户。我想将数据结构从服务器映射到 iOS 设备上的核心数据模型。模型设计如下:

课程

  • 用户
  • 角色
  • 邮政
  • 评论

关系

  • 一个用户有零个或一个角色/一个角色可以有多个用户
  • 一个用户有多个帖子/一个帖子有一个用户
  • 一个帖子有多个评论/一个评论有一个帖子

问题是,RestKit 中关系的默认映射会导致大量消息和冗余传输,因为当我发送/接收角色时,所有用户也将被传输,如果我发送/接收用户,角色被添加到每个用户。用户、帖子和评论也是如此。这只是很多数据,就我所能想到的而言,最好的解决方案就是发送 ID,这些 ID 被引用并传输每种类型。当我通过将角色的 ID 映射到用户中的字段“role_id”将数据从 iOS 设备发送到服务器时,这非常有效,因为 Rails 确实知道如何处理它。所以关系没有被映射为关系,而只是作为 ID 字段。但是当我从服务器接收用户时,设备上不存在这些用户,我收到一个错误,

所以我研究发现你可以映射关系并使用主键的映射,这样RestKit只会发送角色的主键。但是现在 Rails 不明白如何处理它。它看起来像这样:

{ "id":1, "uid":"my_user_name", "pwd":"my_password", "role": { "id":0 } }

但 Rails 期待这样的事情:

{ "id":1, "uid":"my_user_name"; “密码”:“我的密码”,“角色 ID”:0 }

这就是我现在的状态,我真的不知道如何解决这个误解。

我将非常感谢任何帮助!

0 投票
0 回答
231 浏览

iphone - Restkit:使用子字段“fields.attr”到字段“attr”进行特定映射

嗨,我需要一些建议来了解我尝试做的事情是否可行。

我有这个数据模型:

我收到以下 Json 洪水(由 Django 生成):

当我尝试将 fields.photo_set 映射到 photo_set 时:

我得到了著名的:

我的问题是“有可能做我想做的事吗??”

谢谢您的帮助 !

PS:这些是我的映射规则:

0 投票
2 回答
819 浏览

objective-c - RestKit - 对象映射!这里出了什么问题?

我的服务器收到了 JSON 响应。从 RestKit 日志中获取的数据如下所示:

数据映射到 3 个对象:

Place、Placeinfo 和 LatestDBUpdate。

问题是:

在上面的 JSON 响应中有 2 个地点对象和 2 个嵌套的 PlaceInfo 对象,以一对多关系连接。

还有一个与 Timestamps 关键字相关的 LatestDBUpdate 对象。

Restkit 将映射 3 个 Place 对象,其中一个将全部为 NULL。其他 2 个 Place 对象已正确映射,并且关系也正确。它当然应该只映射 2 个 Place 对象!

LatestDBUpdate 映射也正确映射时间戳。

我已经确定,如果我删除 JSON 响应的时间戳部分,那么映射是正确的,只有 2 个位置对象。

但我需要时间戳部分在那里!我不知道如何解决这个问题!任何想法 - 我真的可以使用一些输入,因为我已经使用了几个小时!

以下是使用的映射设置:

0 投票
4 回答
1297 浏览

objective-c - 我可以在 restkit 的异步结果中使用块吗?

--更新:我决定试试 AFNetworking。尽管 RestKit 有一个非常好的对象映射功能,但网络调用的设计方式让我们有些困难。

我希望就如何组织使用 RestKit 的项目获得一些建议。

我有几个来自存储库类的 REST 调用,其结果被传递给控制器​​。例如,我在从浏览视图控制器调用的存储库类中有一个 getProfile 方法。视图控制器被设置为 get profile 调用的委托,而存储库类被设置为 restkit 调用的委托。

问题是,如果浏览控制器发出多个获取配置文件请求,则很难区分哪个结果应该发送到哪个委托函数,因为所有 restkit 调用共享相同的委托方法 objectLoaderDidFinishLoading。然后我有 4 个委托,我必须匹配 4 个异步 restkit 请求的结果。

有什么方法可以使用块,以便我可以传递一个函数以在 asnynrhounous 结果返回时执行,以便我可以分配一个适当的委托?我看到的块支持允许在请求被发送到 rest kit 之前使用块,但我有兴趣在返回异步结果时使用它。

检查结果或设置用户数据并侦查委托与异步结果的替代方法似乎不可靠且笨重。

0 投票
1 回答
424 浏览

objective-c - 在 RestKit 中从一个 ObjectManager 映射多个资源

我正在为半 REST Web 服务编写客户端(目前它仅支持 GET 请求)。

我的问题是下一个。我有一个基本 URL 和两种类型的资源,每一种都位于不同的资源路径上。

到这个时候,我有两个代表资源结构的类,我有两个RKObjectMapping用于映射每种资源类型的实例,并且我有两个实例RKObjectManager每个实例都有不同的映射。在应用程序中,我加载调用loadObjectsAtResourcePath:每个RKObjectManager.

有人可以建议我如何改进我的代码,因为我觉得我应该只使用一个实例,RKObjectManager因为我只使用一个 Web 服务。

我将非常感谢您的任何建议,因为我进行了很多搜索,但没有找到任何解决方案。

0 投票
1 回答
177 浏览

ios - 获取 RKRequest/RKRequestQueue 上的数据大小?

我正在使用 RestKit,它很棒。我在一个 RKRequestQueue 中收集了几个 RKRequest,我希望向用户显示下载进度。我找不到获取或生成请求数据大小的方法。

我将不胜感激。

谢谢沙妮

0 投票
1 回答
673 浏览

objective-c - RKJSONParserJSONKit not found

I'm trying to use JSON parsing from RestKit, but I'm receiving the following compile time error:

RestKit works ok, this being the only error I've seen so far. This is my import line:

edit: oddly, it fails to compile only if I try to create a parser like so:

Commenting out this line allows for compilation, but I do need to instance a parser.

How can I fix this error? Thank you.

0 投票
3 回答
1067 浏览

objective-c - 在 iOS 的 RestKit 中执行 postObject 时忽略响应

我正在使用 RestKit 连接到我们的 WCF 数据服务。

由于响应映射问题,我在使用 RKObjectManager 的 postObject 函数添加实体时遇到问题。

添加实体时,WCF 数据服务返回 201 状态代码和新添加的实体(作为响应)。

是否可以忽略响应并仅使用返回的状态码来检查添加是否成功?

蓬努