大家好,欢迎来到IT知识分享网。
上一节学习了POST请求,Form、PostForm、MultipartForm、上传文件
本节学习:修改状态码、获取(修改)Header信息、设置302跳转、返回Json信息
首先写一个最简单的代码作为开始,后续进行修改。
可以看到返回的状态码是200 OK,
(1)修改返回状态码
简单修改一下,实现修改状态码的功能
注意:WriteHeader修改状态码的目的是为了发送错误类的HTTP状态码,比如301、404、500等
(2)获取Header信息
Header包含由服务器接收或由客户端发送的请求报头字段。
例如:
Header = map[string][]string{
“Accept-Encoding”: {“gzip, deflate”},
“Accept-Language”: {“en-us”},
“Foo”: {“Bar”, “two”},
}
HTTP定义报头名称不区分大小写。
对于客户端请求,某些报头(如Content-Length和Connection)会在需要时自动写入,报头中的值可能会被忽略。
(3)设置302跳转
代码解析
func ResponseWriter2(w http.ResponseWriter, r *http.Request) { //w.Header().Set的功能是自定义设置header信息, //1个key对应1个value,键不区分大小写 w.Header().Set("Location","http://www.toutiao.com") //WriteHeader发送一个带有提供的状态码的HTTP响应头,如果未设置,将默认WriteHeader(http.StatusOK),除非自定义设置状态码。 //状态码必须是有效的HTTP 1xx-5xx状态码。 w.WriteHeader(302) }
(4)设置JSON返回
代码解析:
func ResponseWriter3(w http.ResponseWriter, r *http.Request) { //w.Header().Set的功能是自定义设置header信息, //设置Content-Type的值为application/json w.Header().Set("Content-Type", "application/json") //1. 设置map,键的类型是string,值的类型是string //2. json.Marshal将map转换成json的[]byte类型 bytes, _ := json.Marshal(map[string]string{ "username": "GoPy", "password": "", })
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/85339.html