gpt4 book ai didi

api - 如何使用Resty创建自动化API POST测试请求

转载 作者:行者123 更新时间:2023-12-03 10:07:52 25 4
gpt4 key购买 nike

我已经成功地使用Resty在Go中成功设置了API自动化测试,并执行了GET请求。
但是,我正在努力进行POST API测试以返回200,而不是收到400错误消息。我不确定自己在做什么错。
请在下面查看我的代码。 (顺便说一下,POST请求在Postman中有效!)

func Test_Post(t *testing.T){
client := resty.New()
resp, _ := client.R().
SetBody(`{
"text": "Hello, I am learning how to test APIs with Postman!"
}`).
Post("https://api.funtranslations.com/translate/yoda")

assert.Equal(t, 200, resp.StatusCode())
}

最佳答案

您需要添加一个内容类型。这应该工作:

func Test_Post(t *testing.T){
client := resty.New()
resp, _ := client.R().
SetBody(`{
"text": "Hello, I am learning how to test APIs with Postman!"
}`).
SetHeader("Content-Type", "application/json").
Post("https://api.funtranslations.com/translate/yoda")

assert.Equal(t, 200, resp.StatusCode())

}
如果向客户端传递json可序列化的数据类型而不是字符串,则它将知道您打算发送JSON并正确设置 header :
resp, _ := client.R().
SetBody(map[string]string{
"text": "Hello, I am learning how to test APIs with Postman!",
}).
Post("https://api.funtranslations.com/translate/yoda")

关于api - 如何使用Resty创建自动化API POST测试请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65169149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com