在我的 Cappuccino 前端我使用 Ratatosk对基于 RESTful JSON 的 API 进行查询。
当我创建一个新资源时
[myNewResource ensureCreated];
我的后端返回状态代码 201 和带有新创建资源的 URI 的 Location header 。响应正文为空。据我所知,这就是 REST API 应该对成功的 POST 请求使用react的方式。
但在收到回复后,Ratatosk 调用
- (void)connection:(CPURLConnection)aConnection didReceiveData:(CPString)data
(在 WLRemoteLink.j 中)并尝试解码响应正文。这会引发错误,因为响应正文为空。结果,请求被无限重复。
我该怎么办?我应该在响应正文中返回整个资源吗?
编辑:
在响应中返回 ID 解决了问题,例如
{"id":1}
最佳答案
如果响应为空,Ratatosk 期望状态码 204(无内容)。否则,它需要刚刚创建的资源的完整表示(它用于在本地填充服务器端动态属性,如 created_at)。
关于cappuccino - 线载/拉塔托斯克 : How to make POST requests?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19424877/