web提交

get提交
  • 一般用于查询和删除,若条件数据较多,如in方式的则使用post
post提交
  • 一般用于新增和更新
  • 一般使用pojo去接收传进来的数据,
    • 若需要一个 <Pojo 的对象,可以在原pojo上添加 @Builder 注解,通过建造者模式链式构建对象来处理
    • 若需要一个 >Pojo 的对象,3种处理方式
      • 通过map的方式去接收 添加注解 (@RequestBody表示处理post提交的body);
      • 新建个 PojoVo类来装请求数据(新增一个 Pojo扩容类);
      • 直接对原来的Pojo扩容其它使用原pojo的则使用建造者模式链式构建对象(不推荐);

两者优缺点

  • 网上的举例

tcp类比汽车,http类比交通规则,而GET、POST则为服务级别;GET请求为 货物需放在车顶上(url)方便记录,且贴上Get标签(method为GET);POST请求为 货物放在箱体(Body)中,且贴上Post标签(method为POST);也有GET请求在箱体内偷偷放东西的,也有POST请求放一些货物放在车顶的;由于符合交通规则,GET也可以在车顶无限放货物;浏览器和服务器类比于运输公司,由于装货和卸货都是浏览器和服务器干的,所以浏览器和一些服务器都规定车顶上放的货物有一个限制,超出部分不处理(url的大小有规定,超出的数据不处理);当然如果GET请求箱体内放点东西,有些服务器也会好心的帮你处理下

GET和POST其实没啥区别,只是受限制于浏览器和服务器

  • 请求的时候 GET请求只跑一次 header和data一次运输,服务器响应200;POST跑两次先header过去服务器响应100,然后data过去服务器响应200

  • get提交不安全,数据都放在url种,且请求数据大小有限制,但是前端逻辑简单,请求数据也很直观

  • 浏览器回退,get提交无危害,post会再次请求