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

我有两个服务使用http请求和响应相互通信。Repo-1 中的一个特定终结点返回一个布尔值作为其响应。


response := checkIfPresent(personId)

return c.JSON(http.StatusOK, response)

下面是一个布尔值。在客户端,我收到了这样的响应。response


client := &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


尚方宝剑之说
浏览 83回答 1
1回答

森栏

是字节切片中的 JSON 编码数据,包含字符串 。您必须从 JSON 中取消编组。responsetruevar resp boolerr := 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"但稍后如果响应将包含更多数据,则只有未封印方式有效。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go