现在,成功调用我的Rails API后端后,我可能会执行以下任一操作...
render json: {user_id: @user.id, token: token}
或
render json: {status: :success}
如果结果不成功,我可能会做类似
的事情render json: {status: :failure, error: "The email or password entered is not correct."}
我的问题是......什么是标准化的最好方法。
如果我的iOS应用程序搜索dict [@"错误"]的json字典值,它并不总能找到它。无论成功与否,每一条渲染信息都应该......具有“状态”状态。密钥或错误'关键或两者兼而有之。
或者前端处理这个问题更好,如果dict [@"错误"] / dict [@" status"]碰巧不存在......然后它知道后端没有发生错误,否则就会这么说了吗?
答案 0 :(得分:0)
我在如何标准化JSON响应方面遇到了类似的问题。
默认情况下,Rails从帖子模型中生成这种JSON,
帖子:[ { id:22198, 标题:“使用GitHub页面托管您的网站”, 日期:“2013-08-16 09:30:20”, }, { id:22196, 标题:“在Ruby on Rails上运行测试 - 树屋快速提示”, 日期:“2013-08-15 14:30:48”, } ]
但有没有标准可以为iPhone APP提供Rails API?
iOS开发人员期望看到的标准或典型的成功/失败响应格式是什么?
答案 1 :(得分:0)
您呈现回复的方式很好。在您的客户端,它应该是关于正确处理HTTP状态代码的全部内容。
render status: :ok
- >应返回HTTP状态代码200,这意味着成功请求。然后您的客户端(iphone应用程序)确实知道,通过成功请求,您将获得用户ID和令牌。
render status: :bad_request
- >应该返回HTTP状态代码400,这意味着不成功的请求,然后您的客户端将知道发生了错误,并根据您的标准,他可以查找json响应的错误字段