Gin框架入门-HTTP请求
本文最后更新于:10 个月前
一、HTTP请求类型
http协议中一共定义了八种方法或者称之为类型来表明对请求网络资源(Request-URI)的不同的操作方式,分别是:OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT。
请求 | 内容 |
---|---|
GET | 请求指定的页面信息,并返回实体主体。 |
POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中。 |
DELETE | 请求服务器删除指定的页面。 |
PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
HTTP 提供了丰富的状态码供我们使用,正确的使用状态码可以让响应数据更具可读性。
- 200 OK - 对成功的 GET、PUT、PATCH 或 DELETE 操作进行响应。也可以被用在不创建新资源的 POST 操作上
- 201 Created - 对创建新资源的 POST 操作进行响应。应该带着指向新资源地址的 Location 头
- 202 Accepted - 服务器接受了请求,但是还未处理,响应中应该包含相应的指示信息,告诉客户端该去哪里查询关于本次请求的信息
- 204 No Content - 对不会返回响应体的成功请求进行响应(比如 DELETE 请求)
- 304 Not Modified - HTTP 缓存 header 生效的时候用
- 400 Bad Request - 请求异常,比如请求中的 body 无法解析
- 401 Unauthorized - 没有进行认证或者认证非法
- 403 Forbidden - 服务器已经理解请求,但是拒绝执行它
- 404 Not Found - 请求一个不存在的资源
- 405 Method Not Allowed - 所请求的 HTTP 方法不允许当前认证用户访问
- 410 Gone - 表示当前请求的资源不再可用。当调用老版本 API 的时候很有用
- 415 Unsupported Media Type - 如果请求中的内容类型是错误的
- 422 Unprocessable Entity - 用来表示校验错误
- 429 Too Many Requests - 由于请求频次达到上限而被拒绝访问
在开始动手操作之前,需要先下载postman
官网下载网址:https://www.postman.com/downloads/
二、GET请求
GET请求可以看见网址中所携带的参数,参数挂载在URI和URL。
1 |
|
这里利用Param将请求中的地址栏的id(这里是123提取出来),和用Query将后面的参数user和pwd提取出来,然后将这三个参数返回,我们成功获取到网址上的参数了!
- 这个时候就有个问题了,如果我们的请求里面恰好没有给user或pwd,会怎么样?
我们发现缺少的这一项直接为空。
这个时候我们可以用DefaultQuery方法。
- DefaultQuery:如果存在,DefaultQuery返回键控url查询值,否则返回指定的defaultValue字符串。
1 |
|
postman访问:http://localhost:8080/path/123?pwd=123456
- 这个时候就有个问题了,如果我们的请求里面恰好没有给user或pwd,会怎么样?
我们发现缺少的这一项直接为空。
这个时候我们可以用DefaultQuery方法。
- DefaultQuery:如果存在,DefaultQuery返回键控url查询值,否则返回指定的defaultValue字符串。
1 |
|
postman访问:http://localhost:8080/path/123?pwd=123456
三、POST请求
POST 请求的参数一般通过 body 传递给服务器. body 中的数据格式有很多种。
- 表单参数可以通过PostForm()方法获取,该方法默认解析的是x-www-form-urlencoded或from-data格式的参数
1 |
|
postman访问:http://localhost:8080/path
四、DELETE请求
DELETE请求参数挂载在URI,用法与GET请求一样。
1 |
|
postman访问:http://localhost:8080/path/linzy
五、PUT请求
PUT请求与POST请求用法一样,参数一般通过 body 传递给服务器. body 中的数据格式有很多种。
1 |
|
postman访问:http://localhost:8080/path/linzy