当前位置: 首页 > news >正文

常用的网站开发语言有哪些开网店怎么开 新手无货源

常用的网站开发语言有哪些,开网店怎么开 新手无货源,seo营销优化,浙江建设职业技术学院网站GET和POST的区别 在我们开发项目的时候常常会在Controller层使用到POST方法或者GET方法#xff0c;犹豫到底将接口定义为GET方法还是POST方法#xff1f;那这两者之间有什么区别呢#xff1f; 看一下官方定义#xff1a; GET 和 POST 是 HTTP 协议中最常用的两种请求方法…GET和POST的区别 在我们开发项目的时候常常会在Controller层使用到POST方法或者GET方法犹豫到底将接口定义为GET方法还是POST方法那这两者之间有什么区别呢 看一下官方定义 GET 和 POST 是 HTTP 协议中最常用的两种请求方法它们之间的区别主要体现在以下几个方面 语义 GET用于从服务器获取资源不应该对服务器端的数据进行修改。GET 请求是幂等的即多次执行相同的 GET 请求应该返回相同的结果不会产生副作用。POST用于向服务器提交数据通常用于创建新的资源或者对服务器端的数据进行修改。POST 请求不是幂等的即多次执行相同的 POST 请求可能会产生不同的结果可能会对服务器端的数据产生副作用。 参数传递 GET参数通过 URL 的查询字符串query string传递参数会附加在 URL 的末尾如 http://example.com/resource?key1value1key2value2。由于参数附加在 URL 中有长度限制并且会被保存在浏览器的历史记录和服务器的访问日志中。POST参数通过请求体request body传递参数不会附加在 URL 中而是作为请求体的一部分发送。POST 请求没有长度限制可以传递大量的数据且参数不会暴露在 URL 中更加安全。 安全性 GET由于参数暴露在 URL 中可能会被恶意用户通过网络抓包工具等获取因此不适合传递敏感信息如密码等。GET 请求更适合用于获取公开信息。POST参数在请求体中发送相对于 GET 请求更安全适合传递敏感信息如登录表单的用户名和密码等。 缓存 GET请求结果可以被缓存可以被浏览器缓存、代理服务器缓存等如果请求相同的 URL可以直接使用缓存结果提高性能。POST请求结果通常不会被缓存每次请求都会向服务器发送数据不会使用缓存结果。 幂等性 GET由于 GET 请求是幂等的多次执行相同的 GET 请求应该返回相同的结果不会对服务器端的数据产生影响因此适合用于查询操作。POSTPOST 请求不是幂等的多次执行相同的 POST 请求可能会产生不同的结果可能会对服务器端的数据产生影响因此适合用于对数据进行修改或者创建新的资源。 总结一下要点 定义上GET主要是用于获取资源POST主要是创建新的资源或者对服务器端的数据进行修改 参数传递GET主要通过参数传递比如http://example.com/resource?key1value1key2value2或者restful的形式http://example.com/resource/value1/value2。而POST主要将请求参数放在请求Body中不会在url上直接体现 但是⚠️无论是GET还是POST在http协议下传递数据都是不安全的因为代理服务器还是可以拦截请求看到请求体的body那GET就更不用说了所以建议在网站上线时使用https因为https对数据进行了加密具体的可自行上网搜索如何保证数据安全性 缓存例如在我们向服务器请求静态资源时通常是GET请求浏览器为了提高访问速度通常会将静态资源缓存在浏览器而POST请求不会 GET接收参数示例(三种不同传参方式) /*** 使用RequestParam接收参数主要用于接收带?和的GET请求参数* param name* param age* return*/ GetMapping(/testGet/normal) public String testGetNormal(RequestParam(name) String name, RequestParam(age) Integer age) {return name age; }⚠️并不是只有POST请求才可以使用body传递参数GET同样也可以但是GET请求使用Body传递参数是有长度限制的 /*** 使用RequestBody接收Get方法的Body* param person* return*/ GetMapping(/testGet) public String testGetBody(RequestBody Person person) {return person.getName() person.getAge(); }/*** 使用PathVariable接收参数主要用于接收restFul风格的参数* param name* param age* return*/ GetMapping(/testGet/{name}/{age}) public String testGet(PathVariable(name) String name, PathVariable(age) Integer age) {return name age; }POST方法示例三种不同传参方式 PostMapping(/testPost) public String testPost(RequestParam(name) String name, RequestParam(age) Integer age) {return name age; }PostMapping(/testNormal/{name}/{age}) public String testPostNormal(PathVariable(name) String name, PathVariable(age) Integer age) {return name age; }PostMapping(/testPost/body) public String testPostBody(RequestBody UserRegisterRequest userRegisterRequest) {return userRegisterRequest.getUserAccount() userRegisterRequest.getUserPassword(); }总结 可以看出有什么区别吗其实使用下来没有什么区别无非就是GET可以传递的参数大小有限制而POST没有所以有一些项目的所有接口都采用的了POST作为接口的调用形式就是为了减少前后端的交流成本 例如 前端你这b接口是POST还是GET啊 后端你不会看接口文档吗 前端回怼我就是看了接口文档调用接口报错404才找你的 后端好吧我写错了 这里推荐一个接口插件knife4j可以在编写完接口后自动生成接口文档 只要在后端的pom.xml文件中引入依赖 dependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-spring-boot-starter/artifactIdversion3.0.3/version /dependency声明一个配置类 Configuration EnableSwagger2 EnableKnife4j public class SwaggerConfig {Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).useDefaultResponseMessages(false).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage(xxx.xxx.xxx.controller)).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().description(项目接口).version(v1.1.0).title(API测试文档).build();}}xxx.xxx.xxx.controller替换为自己的项目路径下的controller目录路径 然后访问http://后端ip:后端端口号/doc.html如果项目有加context-path比如content-path/api访问地址要改为http://后端ip:后端端口号/api/doc.html server:port: 8080servlet:context-path: /api比如上面这个配置就要访问http://localhost:8080/api/doc.html 然后就可以访问啦里面有所有接口的详细信息以及支持在线调试 如果觉得本篇文章对于你有帮助可否点个小赞篇幅较长建议收藏关注一手等待后续更新更多干货
http://www.pierceye.com/news/957075/

相关文章:

  • 可以做超链接或锚文本的网站有哪些口碑营销的本质是什么
  • 网上下载的网站模板怎么用莱芜金点子招聘网
  • 网站建设首先要免费游戏网站制作
  • 小橘子被做h网站注册帐号
  • 汉川网站推广服务PHP网站建设的课后笔记
  • 中国建设银行网站功能模块多少钱才算有钱人
  • 毕业设计网站成品wordpress 发布模块
  • 网站推广 济南江西 网站 建设 开发
  • 视频 播放网站怎么做的ppt模板大师
  • 桂林北站到象鼻山景区怎么坐车wordpress更改上传
  • 温州制作手机网站wordpress电子书下载
  • 企业型网站怎么做wordpress邮件服务器
  • 龙华网站(建设信科网络)网站建设哪家好推荐万维科技
  • 克拉玛依网站建设公司网站 正在建设中
  • 虚拟主机可以做视频网站嘛有哪些网站有收录做红酒的商行
  • 广州seo优化推广外贸网站优化谷歌关键词排名
  • 网络服务网站建设网站策划书包括哪些内容?
  • ps学做翻页相册网站wordpress导航图标
  • 模板网站的弊端在哪杨家平网站建设
  • 网站模板带手机站手表网站十大品牌
  • 物流网站功能设计师招聘网站有哪些
  • 知名网站开发哪里有重庆公司网站建设价格
  • 南头做网站公司重庆建设厂招聘信息网站
  • 网站建设的基本条件外贸建设网站制作
  • 移动电子商务平台就是手机网站奉化首页的关键词优化
  • 公司怎么建立一个网站展示型网站模板代码
  • 益阳网页设计十堰seo优化服务
  • discuz论坛建站教程微商城开发小程序开发
  • 饰品网站建设炫丽的网站
  • 网站建设制作介绍河南企业建站多站点管理系统