Post 和 Get 那些事
2017-10-25 22:12
99 查看
Postman 格式自动转换,从实体转成json格式。
Get操做:
//指定返回格式:
{
“status”: “200”,
“data”: [
{
“id”: “A”,
“name”: “A”,
“fullName”: “AA”
}
]
}
// 返回的对象格式如果是上图所示则定义的实体结构如下所示:
@Data
public class SettlementRecord extends QueryResponse{
List data;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class QueryResponse {
private String status;
}
//如果返回格式是如下的:
{
“status”: “200”,
“content”: {
“id”: “C”,
“name”: “C”,
“fullName”: “CC”
}
}
@Data
public class Record extends QueryResponse{
SettlementRecordInfo content;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class QueryResponse {
private String status;
}
//入参
1、需要传入List
需要进行一个转换,其实传入也是String,只是用多个逗号隔开。
然后再在代码中进行处理。split.
2、如果传入一个类对象 Request
假设为如下所示:
@Data
public class Request {
private String request;
private String id;
}
那么在Postman中输入的参数请求:
http://192.168.4.198:8080/query/query_request?request=a&id=b
把对象的属性一一列举,并且赋值传入进来。
先回答一下Get和Post两者的区别?
答案:两个都是Http协议的请求操作,但是Get的参数是放在url中,Post的参数是放在request body中。
GET请求在URL中传送的参数是有长度限制的,而POST没有。
所以如果传入的参数可能过长的时候,一般都是使用POST,把参数放在request body中。并不是作为参数加
在URL的后面。这样容易造成URL过长。
网上答案:
GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST么有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body中。
为什么Get 和 Post一样都能执行查询操作?
回答:
在HttpServlet类中存在
doPost(HttpServletRequest req, HttpServletResponse resp)
doPut(HttpServletRequest req, HttpServletResponse resp)
doGet(HttpServletRequest req, HttpServletResponse resp)
在doPost中执行查询逻辑也是可以的,但是接口对接的时候一定要说明清楚。
Get操做:
//指定返回格式:
{
“status”: “200”,
“data”: [
{
“id”: “A”,
“name”: “A”,
“fullName”: “AA”
}
]
}
// 返回的对象格式如果是上图所示则定义的实体结构如下所示:
@Data
public class SettlementRecord extends QueryResponse{
List data;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class QueryResponse {
private String status;
}
//如果返回格式是如下的:
{
“status”: “200”,
“content”: {
“id”: “C”,
“name”: “C”,
“fullName”: “CC”
}
}
@Data
public class Record extends QueryResponse{
SettlementRecordInfo content;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class QueryResponse {
private String status;
}
//入参
1、需要传入List
需要进行一个转换,其实传入也是String,只是用多个逗号隔开。
然后再在代码中进行处理。split.
2、如果传入一个类对象 Request
假设为如下所示:
@Data
public class Request {
private String request;
private String id;
}
那么在Postman中输入的参数请求:
http://192.168.4.198:8080/query/query_request?request=a&id=b
把对象的属性一一列举,并且赋值传入进来。
先回答一下Get和Post两者的区别?
答案:两个都是Http协议的请求操作,但是Get的参数是放在url中,Post的参数是放在request body中。
GET请求在URL中传送的参数是有长度限制的,而POST没有。
所以如果传入的参数可能过长的时候,一般都是使用POST,把参数放在request body中。并不是作为参数加
在URL的后面。这样容易造成URL过长。
网上答案:
GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST么有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body中。
为什么Get 和 Post一样都能执行查询操作?
回答:
在HttpServlet类中存在
doPost(HttpServletRequest req, HttpServletResponse resp)
doPut(HttpServletRequest req, HttpServletResponse resp)
doGet(HttpServletRequest req, HttpServletResponse resp)
在doPost中执行查询逻辑也是可以的,但是接口对接的时候一定要说明清楚。
相关文章推荐
- 【傻傻分不清楚】 一 Get和Post
- 后台post get请求
- HTTP中Get与Post的区别
- HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等
- HTTP协议中的GET、POST请求
- HttpClient Get和Post
- C# .net中的GET和POST方法
- RestService中的 get post put delete
- XMLHttpRequest详情之GET和POST(二)
- get 和 post 方式提交乱码问题
- 转 浅谈HTTP中Get与Post的区别
- 关于AngularJs中$http post、get 发送和接受参数详解
- HTTP 方法:GET 对比 POST
- Ajax中的get和post两种请求方式的异同
- Qt--Http请求封装(Get Post)
- Java实现http(post、get)请求
- Get / Post
- java apache commons HttpClient发送get和post请求的学习整理
- 嵌入式应用中CGI编程中POST、GET及环境变量详解
- HTTP中get和post的区别详解