到目前为止,我们一直在使用Firefox向API服务发送请求,由于内置的JSON查看器提供了“输出格式化”,这使得JSON响应易于阅读。
但是如果您尝试使用curl发起请求,将看到实际的JSON响应数据都在一行中,没有空格。
$curllocalhost:/v1/healthcheck{"environment":"development","status":"available","version":"1.0.0"}$curllocalhost:/v1/movies/{"id":,"title":"Casablanca","runtime":,"genres":["drama","romance","war"],:1}
通过使用json.MarshalIndent()函数来编码响应数据,而不是使用常规的json.Marshal()函数,可以使这些内容更容易在终端中查看。自动将空格符添加到JSON输出中,每个元素放在单独的行,并在每个行前面加上可选的前缀和缩进字符。
我们更新writeJSON()助手来使用下面的代码:
File:cmd/api/helpers.go
packagemain...func(app*application)writeJSON(w