我有一个 Go 应用程序和三个用于应用程序、数据库和 mountebank 的 docker 容器来模拟/存根 HTTP 响应。
我希望我的 mountebank 容器在 test_api(应用程序容器)发出请求时返回适当的响应。
当我使用 Postman 调用端点时,mountebank 容器会返回正确的响应。
但是,当我在 test_api 容器中的代码像下面的代码一样发送 GET 请求时,它总是会收到
拨打 tcp 127.0.0.1:3000:连接:连接被拒绝
下面是 test_api 如何向 mountebank 容器发送请求
func getSuper(id string) (*float64, error) {
var url = "http://localhost:3000/ato/employee/?/balance"
url = strings.Replace(url, "?", id, 1)
log.Println("Sending request to this url: ", url)
resp, err := http.Get(url)
if err != nil {
return nil, &errorhandling.RequestError{Context: "getSuper calling ato api", Code: errorhandling.Internal, Message: err.Error()}
}
body, err := resposeToByte(resp)
if err != nil {
log.Println("err in coverting response to byte[]:", err)
return nil, &errorhandling.RequestError{Context: "getsuper resposeToByte", Code: errorhandling.Internal, Message: err.Error()}
}
superData, err := UnmarshalSuperDetails(body)
if err != nil {
return nil, &errorhandling.RequestError{Context: "UnmarshalSuperDetails())", Code: errorhandling.Internal, Message: err.Error()}
}
log.Println("super details ", superData)
return &superData.SuperBalance, nil
}
这是我用于 mountebank 的 docker 文件
FROM alpine:3.14
ENV MOUNTEBANK_VERSION=2.4.0
RUN apk add --update nodejs-lts && \
apk add --update npm
RUN npm install -g mountebank@${MOUNTEBANK_VERSION} --production
EXPOSE 2525
ENTRYPOINT ["mb"]
CMD ["start"]
如何更改我的代码以使 test_api 收到来自 mountebank 的正确响应?
holdtom
相关分类