首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >go-swagger WriteResponse

go-swagger WriteResponse
EN

Stack Overflow用户
提问于 2018-09-20 14:25:00
回答 2查看 377关注 0票数 0

我正在使用go-swagger,但是我有一个例子,我想写一个字符串给一个响应。我需要调用"WriteResponse“函数

代码语言:javascript
复制
WriteResponse(rw http.ResponseWriter, producer runtime.Producer)

我遇到的问题是,我不知道如何将字符串转换为http.ResponseWriter并创建runtime.Producer。

如果有帮助,这里有我的代码片段……

代码语言:javascript
复制
//convert the database response to a string array of valid JSON
stringArray, conversionError := plan.ConvertPlanArrayToString(response)
if conversionError != nil {
    return swaggerPlan.NewPlanGetTemplatePlanInternalServerError()
}

//Need to convert string value
stringValue := stringArray[0]
return swaggerPlan.NewPlanGetTemplatePlanOK().WriteResponse(NOT SURE HOW TO CREATE http.ResponseWriter, runtime.Producer)

非常感谢

EN

回答 2

Stack Overflow用户

发布于 2018-09-20 16:57:37

正如Flimzy所提到的,您必须将字符串写入http.ResponseWriter,这可能就是WriteResponse函数所做的事情。

您提供的代码应该在某个地方从处理程序函数中调用:

代码语言:javascript
复制
func (...) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
  // your code should be here and you can pass the http.ResponseWriter
}
票数 0
EN

Stack Overflow用户

发布于 2018-09-21 23:50:25

非常感谢你们,你们帮了我很大的忙。它完全像你所说的那样工作,但在go-swagger中略有不同。

我的处理程序被更新为返回一个自定义的"ResponderFunc“,然后我可以直接将我的输出写入其中。效果很好,这是我的代码……

代码语言:javascript
复制
//Handle a 200 by sending the list of plans back as json
    return middleware.ResponderFunc(func(rw http.ResponseWriter, pr runtime.Producer) {
        rw.WriteHeader(200)
        rw.Write(byteArrayPlan)
    })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52418875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档