我使用Go和App Engine在angularjs和服务层中构建了一个Web应用程序,但我遇到了麻烦。 Angular似乎没有识别HTTP状态201(已创建),也没有识别它填充的Location头,而我迄今为止一直使用的gorest库不会返回POST或PUT的任何正文数据,除了201创建回复的标题。
我希望能够在我的应用中为一个集合添加一个新项目,并让服务器使用它的唯一ID进行响应。
我可以在POST回来后发出一个单独的GET请求,但这样做效率低,而且很麻烦。我还可以修复最大的代码以允许一个正文在非GET动词的响应中,但可能是我违反惯用标准。
这里有什么我想念的吗?
答案 0 :(得分:1)
在angular.js的问题跟踪器上关闭issue,他们几乎不关心该功能。
答案 1 :(得分:0)
看起来我错过了一些东西。
只要是GET,gorest库就会自动封送来自服务方法的返回类型。它不允许使用POST或PUT以这种方式返回数据。
但是我注意到WriteAndOveride方法可以允许在任何类型的调用上设置正文:
serv.ResponseBuilder().SetResponseCode(200).WriteAndOveride([]byte(responseBody))
虽然它不是最干净的解决方案,但它肯定会解除我的阻碍。