您的位置:首页 > 其它

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中执行查询逻辑也是可以的,但是接口对接的时候一定要说明清楚。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: