wireload / Ratatosk : 如何发出 POST 请求



在我的卡布奇诺前端中,我正在使用Ratatosk对基于RESTful JSON的API进行查询。

当我使用 创建新资源时

[myNewResource ensureCreated];

我的后端返回状态代码 201 和一个位置标头,其中包含新创建资源的 URI。响应正文为空。据我所知,这就是 REST API 应该对成功的 POST 请求做出反应的方式。

但在收到回复后,拉塔托斯克打电话给

- (void)connection:(CPURLConnection)aConnection didReceiveData:(CPString)data

(在 WLRemoteLink.j 中)并尝试解码响应正文。这将引发错误,因为响应正文为空。因此,请求将无限重复。

我应该怎么做?我是否应该在响应正文中返回整个资源?

编辑:

在响应中返回 ID 解决了问题,例如

{"id":1}
如果

响应为空,Ratatosk 需要状态代码 204(无内容)。否则,它需要刚刚创建的资源的完整表示形式(它用于像created_at一样在本地填充服务器端动态属性)。

相关内容

  • 没有找到相关文章

最新更新