2014-09-27 78 views
0

我已经使用Go和App Engine在angularjs和服务层中构建了一个web应用程序,但我碰到了一个障碍。 Angular似乎无法识别HTTP状态201(已创建),也没有填充它的位置标题,并且直到现在我一直使用的gorest库不会为POST或PUT返回任何正文数据,除了201创建响应。从POST返回ID

我想能够添加一个新项目到我的应用程序中的集合,并让服务器响应它的唯一ID。

在POST回来之后,我可以创建一个单独的GET请求,但这样做效率低下而且很混乱。我还可以修复gorest代码,以允许一个非GET动词的响应中的主体,但这可能是我违反惯用标准。

有什么我在这里失踪?

回答

1

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

0

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

只要它是GET,gorest库就会自动将来自服务方法的返回类型编组。它不允许通过POST或PUT以这种方式返回数据。

但是我注意到WriteAndOveride方法可以让身体可以在任何类型的电话的设置:

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

虽然它不觉得自己是干净的解决方案,它当然应该取消阻止我。