从POST返回ID

时间:2014-09-27 02:30:36

标签: angularjs go gorest

我使用Go和App Engine在angularjs和服务层中构建了一个Web应用程序,但我遇到了麻烦。 Angular似乎没有识别HTTP状态201(已创建),也没有识别它填充的Location头,而我迄今为止一直使用的gorest库不会返回POST或PUT的任何正文数据,除了201创建回复的标题。

我希望能够在我的应用中为一个集合添加一个新项目,并让服务器使用它的唯一ID进行响应。

我可以在POST回来后发出一个单独的GET请求,但这样做效率低,而且很麻烦。我还可以修复最大的代码以允许一个正文在非GET动词的响应中,但可能是我违反惯用标准。

这里有什么我想念的吗?

2 个答案:

答案 0 :(得分:1)

在angular.js的问题跟踪器上关闭issue,他们几乎不关心该功能。

答案 1 :(得分:0)

看起来我错过了一些东西。

只要是GET,gorest库就会自动封送来自服务方法的返回类型。它不允许使用POST或PUT以这种方式返回数据。

但是我注意到WriteAndOveride方法可以允许在任何类型的调用上设置正文:

serv.ResponseBuilder().SetResponseCode(200).WriteAndOveride([]byte(responseBody))

虽然它不是最干净的解决方案,但它肯定会解除我的阻碍。