rest - 如何从 goREST POST 端点返回消息?

标签 rest go

我正在使用类似于以下代码的端点

type TestService struct {
    gorest.RestService `root:"/test/"`
    testPost    gorest.EndPoint `method:"POST" path:"/testPost/" postdata:"map[string]string"`
}

我获取并处理发布的数据,并希望向调用客户端返回一个有效负载,即成功/错误和一条消息。

我无法从文档中弄清楚如何实现这一点,附加 output 标记并根据 GET 端点从函数返回任何内容失败并出现以下错误;

Parameter list not matching. No matching Method found for EndPoint:[testPost],type:[POST] . Expecting: #func(serv DocumentService) TestPost(PostData map[string]string)# with no return parameters.

是否可以将负载返回给客户端?如果不能,我可以在成功/失败时重定向到不同的终点吗?

最佳答案

所以我找到了一种方法,以防万一有人遇到类似问题。

看来你可以直接使用 ResponseBuilder 的实例来编写,所以我创建了一个新的响应构建器,将内容类型设置为 json 并写出我的响应!

func(serv DocumentService) TestPost(PostData map[string]string){
    fmt.Printf("%+v", PostData)
    rb := serv.ResponseBuilder()
    rb.AddHeader("Content-Type", "application/json")
    rb.Write([]byte("{type:'info', msg:'Success!'}"))
}

碰巧要通过不同的方法提供输出,您可以使用类似的方法;

serv.ResponseBuilder().Created("http://localhost:8787/orders-service/items/"+string(i.Id))

我在 http://code.google.com/p/gorest/ 找到的

关于rest - 如何从 goREST POST 端点返回消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22943214/

相关文章:

go - Go 中的类型别名与类型定义

go - 为什么 RethinkDB 很慢?

testing - go中接口(interface)模拟的方法

java - Camel Rest 组件是用于设置服务客户端还是服务提供者?

java - 通过 GlassFish 服务器使用 REST - 如何允许使用 HTML 输入更新列表并返回 JSON 对象?

python - 使用 nginx 的 Django REST 框架绝对 url 总是返回 127.0.0.1

date - 在 Go 中解析 RFC-3339/ISO-8601 日期时间字符串

json - 带有正文表单数据的 postman 请求到 json

java - 无法连接到数据库[默认]

mongodb - Go 官方 mongo-driver 中如何实现结构体字段验证?