我正在尝试从接受有效负载的 POST 端点检索响应。对于curl要求:curl --request POST \ --url https://api.io/v1/oauth/token \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "userToken": "myemail@domain.com:MyUserProfileToken" }'我可以这样做:func GetJWT() string { endpoint := "https://api.io/v1/oauth/token" payload := strings.NewReader(`{ "userToken":"myemail@domain.com:MyUserProfileToken"}`) req, _ := http.NewRequest("POST", endpoint, payload) req.Header.Add("Accept", "application/json") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) return string(body)}和 payload := strings.NewReader("{\n \"userToken\": \"myemail@domain.com:MyUserProfileToken\"\n}")但是,当我尝试为电子邮件和令牌传递字符串指针,并声明有效负载时func GetJWT(userEmail, userToken *string) string { endpoint := "https://api.io/v1/oauth/token" payload := strings.NewReader("{\n \"userToken\": \*userEmail\":\"\*userToken\n}") req, _ := http.NewRequest("POST", endpoint, payload) req.Header.Add("Accept", "application/json") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) return string(body)}未知转义返回错误(负载声明的第 53 列)。我如何转义字符串指针以便连接userEmail、“:” 和userToken
1 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
我在这里看到几个问题。
第一:我认为“未知转义”错误消息是由\*
since\*
不是合法的转义字符引起的。
第二:Golang不支持字符串插值。所以userEmail
和userToken
变量实际上从未在您的GetJWT
函数中使用过。
Sprintf
您可以使用标准库包将变量格式化为字符串fmt
。那看起来像这样:
fmt.Sprintf("{\n \"userToken\" : \"%s:%s\" \n}", *userEmail, *userToken)
- 1 回答
- 0 关注
- 152 浏览
添加回答
举报
0/150
提交
取消