为了账号安全,请及时绑定邮箱和手机立即绑定

从 POST 返回 ID

从 POST 返回 ID

Go
莫回无 2021-08-16 20:17:00
我已经在 angularjs 中构建了一个网络应用程序,并使用 Go 和 App Engine 构建了一个服务层,但我遇到了一个障碍。Angular 似乎无法识别 HTTP 状态 201(已创建),也无法识别它填充的 Location 标头,并且我一直在使用的gorest库不会返回任何 POST 或 PUT 的正文数据,除了标头201 创建响应。我希望能够将一个新项目添加到我的应用程序中的集合中,并让服务器使用它的唯一 ID 进行响应。我可以在 POST 返回后发出一个单独的 GET 请求,但这既低效又混乱。我还可以修复 gorest 代码以允许主体响应非 GET 动词,但可能是我违反了惯用标准。有什么我在这里想念的吗?
查看完整描述

2 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

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


查看完整回答
反对 回复 2021-08-16
?
BIG阳

TA贡献1859条经验 获得超6个赞

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

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

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

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

虽然它感觉不像是最干净的解决方案,但它肯定应该让我畅通无阻。


查看完整回答
反对 回复 2021-08-16
  • 2 回答
  • 0 关注
  • 278 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信