我正在使用类似于以下代码的端点
type TestService struct {
gorest.RestService `root:"/test/"`
testPost gorest.EndPoint `method:"POST" path:"/testPost/" postdata:"map[string]string"`
}
我获取并处理发布的数据,并希望将有效负载返回给调用客户端,即成功/错误和消息。
我无法从文档中了解如何实现此目的,附加output
标记并根据GET端点从函数返回任何内容失败,并出现以下错误;
参数列表不匹配。找不到匹配的方法 EndPoint:[testPost],输入:[POST]。期待:#func(serv DocumentService)TestPost(PostData map [string] string)#没有返回 参数。
是否可以将有效负载返回给客户端?如果不能,我可以在成功/失败时重定向到另一个终点吗?
答案 0 :(得分:2)
所以我找到了一种方法,以防任何人遇到类似的问题。
似乎你可以直接使用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))