我正在创建一个独立的模拟服务器,将 JSON 文件作为集成测试的输入(请求和响应)。我只能满足第一个请求。
// MockServices ...
type MockServices struct {
Request string `json:"request"`
Response string `json:"response"`
}
func main() {
r := getMockServices()
for i, s := range r {
for i >= 0 {
// fmt.Println(i)
// fmt.Println(s.Request)
http.HandleFunc(s.Request, func(w http.ResponseWriter, r *http.Request) {
// not serving remaing endpoints
w.Write([]byte(s.Response))
})
if err := http.ListenAndServe(":8080", nil); err != nil {
panic(err)
}
}
}}
https://play.golang.org/p/_kFaxMnRTJJ
非常感谢任何帮助。
提前致谢
最佳答案
有很多问题:
- https://golang.org/pkg/net/http/#ListenAndServe总是返回一个非零错误
- 你正试图在一个循环中绑定(bind)到同一个端口
- 您正在尝试根据模拟响应的索引在另一个循环中进行绑定(bind)
关于go - 当范围超过 JSON 数组时无法迭代所有索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49076206/