我对angularJS很新。 我正在寻找从RESTful API访问服务,但我没有任何想法。 我怎样才能做到这一点?
所以在这里没有什么新的,我只是想澄清,似乎无法find任何其他职位。 我正在重新创build一个新的资源,说: /books (POST) 与身体: { title: 'The Lion, the Witch and the Wardrobe', author: 'CS Lewis' } 我知道我应该返回一个201(创build)与新资源的位置标题: Location: /books/12345 我似乎无法回答自己的问题是服务器应该返回到正文中。 我经常做这种types的回应: { id: 12345, title: 'The Lion, the Witch and the Wardrobe', author: 'CS Lewis' } 我之所以这样做是因为几个原因: 我已经写了像angularjs前端框架的API。 在我的特殊情况下,我正在使用angular度资源,我经常只需要资源的id来定位它。 如果我没有在响应正文中返回id,我需要将它parsing出Location标头。 在所有书籍的GET中,我通常返回整个对象,而不仅仅是id。 从这个意义上说,我的客户端代码不必区分从哪里获得id(位置标题或正文)。 现在我现在真的处于这个灰色地带,但是大多数人都在说,返回整个资源是“坏”的做法。 但是,如果服务器更改/添加资源到资源呢? 它肯定会添加ID,但也可能会添加其他内容,如时间戳。 在我不返回整个资源的情况下,做一个POST真的比较好,返回id,然后让客户端执行一个GET来获得新的资源。
根据“REST思想”,PUT / POST / DELETE请求的响应正文中应该包含哪些内容? 那么返回码呢? HTTP_OK足够了吗? 这样的约定是什么原因呢? 我find了一个很好的post来描述POST / PUT的区别: POST vs PUT但是它仍然不能回答我的问题。
我目前正在返回401 Unauthorized,当我在基于Django / Piston的REST API应用程序中遇到validation失败时。 看过HTTP状态代码registry我不相信这是一个validation失败的适当的代码,你们都推荐什么? 400错误的请求 401未经授权 403禁止 405方法不允许 406不可接受 412先决条件失败 417期望失败 422不可处理的实体 424失败的依赖 更新 :上面的“validation失败”是指应用程序级数据validation失败,即错误地指定了date时间,伪造的电子邮件地址等。
我有一个JSON请求,我发布到一个HTTP URL。 这应该被视为400 where requestedResource字段存在,但"Roman"是这个领域的无效值? [{requestedResource:"Roman"}] 这应该被视为400 ,其中"blah"字段根本不存在? [{blah:"Roman"}]