为了账号安全,请及时绑定邮箱和手机立即绑定

接收布尔值作为对 http 请求的响应

接收布尔值作为对 http 请求的响应

Go
尚方宝剑之说 2022-09-19 14:57:18
我有两个服务使用http请求和响应相互通信。Repo-1 中的一个特定终结点返回一个布尔值作为其响应。response := checkIfPresent(personId)return c.JSON(http.StatusOK, response)下面是一个布尔值。在客户端,我收到了这样的响应。responseclient := &http.Client{}responseBody, err := client.Do(request)if err != nil {        return false    }    defer responseBody.Body.Close()response, _ := ioutil.ReadAll(responseBody.Body)return response 但是,此处的响应属于 类型 。如何从中获取 bool 值并返回?[]byte
查看完整描述

1 回答

?
森栏

TA贡献1810条经验 获得超5个赞

是字节切片中的 JSON 编码数据,包含字符串 。您必须从 JSON 中取消编组。responsetrue


var resp bool

err := json.Unmarshal(response, &resp)

if err != nil {

  //Do the error handling, and return, for example:

  return false, err

}

return resp, nil

或者简单地说,您可以检查它是否等于字符串“true”与


return string(response) == "true"

但稍后如果响应将包含更多数据,则只有未封印方式有效。


查看完整回答
反对 回复 2022-09-19
  • 1 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信