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

游戏型网站开发python企业网站开发

游戏型网站开发,python企业网站开发,云南网站建设一度科技公司,网站模板预览与编辑器1、什么都不写 GET 可以自动封装为对象模型#xff0c;没有的数值自动为0值 POST 请求体里面放了数据#xff0c;但是还是使用了RequestParam里的数据 总结#xff1a; 在不使用注解的情况下#xff0c;相当于默认使用了RequestParam里的数据 #xff08;这种理解是错…1、什么都不写 GET 可以自动封装为对象模型没有的数值自动为0值 POST 请求体里面放了数据但是还是使用了RequestParam里的数据 总结 在不使用注解的情况下相当于默认使用了RequestParam里的数据 这种理解是错误的真实的原因参考下面段落 有一个有趣的现象 而且可以自动封装为对象模型没有的数据也不会报错而是设为0值 post请求时如果不使用 contentType:application/json;charsetutf-8参数还是可以在RequestParam里获取所以也可以封装为对象模型。 2、使用RequestParam GET POST 结果都是400Required Student parameter ‘student’ is not present 使用RequsetParam时无法封装对象模型只能接受简单数据类型String int 等。 值得注意的是如果使用RequestParam(required false)在没有对应数据时不会报400错误而是赋为0值。 3、使用RequestBody GET 结果400The request sent by the client was syntactically incorrect. 使用get请求没有请求体而使用RequestBody获取的肯定是请求体里的数据 POST 结果415The server refused this request because the request entity is in a format not supported by the requested resource for the requested method. 因为Http协议中如果不指定Content-Type则默认传递的参数就是application/x-www-form-urlencoded类型。使用RequestBody必须使用 contentType:application/json;charsetutf-8 且只能是post请求。 结果{“name”:“lisi”,“no”:“001”,“age”:12} 将Content-Type手动设置为json格式可以把请求体里的json字符串读出来封装为对象模型。 总结 不写注解默认使用RequestParam里的数据而且没有的话也不报错读为0值 RequestParam使用的是RequestParam里的数据。key和变量名必须一致否则报错。无法封装对象模型接受参数 RequestBody使用的是请求体里的数据必须使用json格式需要在请求体里面设置Content-Type:application/json 结果{“name”:“zhangsan”,“no”:“001”,“age”:12} 使用了RequestParam的name,RequestBody的no和age。 另外 结果与上方一致。{“name”:“zhangsan”,“no”:“001”,“age”:12} 因为url路径后面的值都会被Servlet接受到并转化到Request.getParameter()参数集中HttpServletRequest request所以RequestParam可以获取的到。即request.getParameter( )能得到的数据使用RequestParam也可以得到 -----------------分割线------------------------------------------------------------------------------ 之前理解的太片面。工作中有遇到了上面结论解释不了的情况使用post请求但是参数能从RequestParam里面获取。不得不再次开始查资料。 首先应该理解Query String Parameters、Form Data、Request Payload的区别 参考https://blog.csdn.net/c_liufeng/article/details/89228115 发起一次POST请求时若未指定content-type则默认content-type为application/x-www-form-urlencoded。即参数会以Form Data的形式进行传递不会显式出现在请求url中。请求参数将被放置于request.paramter解析成map。在控制台看到数据就是在Form Data中。form表单中数据被编码为key/value格式发送到服务器表单默认的提交数据的格式为application/x-www-form-urlencoded。 所以url、Query String Parameters、Form Data里的参数都可以通过RequestParam或者request.getParameter( )获取。 RequestBody RequestBody是将post请求中内容转为一个整体对象。 RequestBody的解析有两个条件 POST请求中content的值必须为json格式存储形式可以是字符串也可以是byte数组 contentType:application/json;charsetutf-8RequestBody注解的参数类型必须是完全可以接收参数值的类型比如MapJSONObject或者对应的JavaBean 所以Integer类型不能作为RequestBody注解的参数类型 RequestParam 这种方式只用在Content-Typeapplication/x-www-form-urlencoded这种情况下才能使用sevlet将Body中的key-value转成Param。 有一个有趣的现象 如果Content-Typeapplication/x-www-form-urlencodedurl和body中有相同的属性名。如果是String类型则两个值会被拼接其他类型取的是URL拼接的参数。 $.ajax({type: post,contentType: application/x-www-form-urlencoded,url: xhh/add.do?namezhangsanage90,data: data.field,dataType: json,success: function (data) {alert(data.toString());}RequestMapping(value /add.do, method {RequestMethod.POST})public String test(RequestParam(name) String name,RequestParam(age) int age){System.out.println(name: name);System.out.println(age age);return name;}后台打印结果 name:zhangsan,qqq age90如果Content-Typemutipart/form-dataBody中加入参数和URL后面拼接参数一起做Post请求都可以被加载到Param中如果是同名的只取用form-data中的。 $.ajax({ type: post, contentType: mutipart/form-data, url: xhh/add.do?namezhangsanage90, data: data.field, dataType: json, success: function (data) {alert(data.toString()); }控制层代码同上 前端传参同上 后台打印结果 name:zhangsan age90get请求结果与上面2个并不完全相同至于是获取url数据还是Query String Parameters里数据还是拼接具体情况再具体测吧总之避免这种情况出现最好。 application/x-www-form-urlencoded 表单中默认的ContentTypeform表单数据被编码为key/value格式发送到服务器表单默认的提交数据的格式 通用HttpServletRequest 和Get方式一样这是个通用的方式。这个也可以和URL拼接的一起搭但是没有RequestParam的String类型值被拼接问题优先级 form-data高于URL拼接高于x-www-form-urlencoded。 参考https://blog.csdn.net/qq_43194157/article/details/107617370 后端如果用springMVC的RequestBody注解的话则只能接收Json对象的字符串不能接收Json对象用 JSON.stringify(data)的方式将对象变成字符串同时ajax请求也要指定dataType: “json”,contentType:“application/json” 这样就能用RequestBody注解绑定对象或者List集合. 参考https://blog.csdn.net/weixin_38676276/article/details/87630740 这次得出的结论 1.RequestBody只能用来接受Json格式的字符串前端必须使用 contentType:application/json;charsetutf-8 必须是post请求。 2.RequestParam或者没有注解获取的都是requestParam除了contentType:application/json;charsetutf-8时其他情况下参数都会被封装在requestParam里。如果url和body里面都有重名的参数参考 有一个有趣的现象 那里里的数据。不管是对象模型里的属性即使用对象模型接收参数的时候还是基本数据类型都一样。 区别是没有注解的情况下相当使用了RequestParam(required false) 不传不会报错给0值。
http://www.zqtcl.cn/news/210523/

相关文章:

  • 建设银行官网官方网站学习网页制作的网站
  • 开发网站需要什么硬件今年最流行的装修风格
  • 门户网站建设中标结果百度资讯指数
  • 定制企业网站开发公司网站建设的6个基本步骤
  • 网站建设与维护案列网站作品怎么做
  • 茂名放心营销网站开发seo收费
  • 旅游网站品牌建设本地使用宝塔安装wordpress
  • 专门做外链的网站制作论坛类网站模板免费下载
  • 靖江建设行业协会网站投资做网站
  • 做网站视频背景潍坊网站制作建设
  • 深圳市官网网站建设哪家好百度抓取网站登录
  • 免费做cpa单页网站友情链接买卖代理
  • 免费网站建站排名中国最大的软件公司
  • 码云pages做静态网站广西建设培训网
  • 建设网站需要花钱吗网站seo方案策划书
  • 德阳网站怎么做seo陈木胜个人资料
  • 电子规划书商务网站建设wordpress主机推荐
  • wordpress设置多站点html5开发手机app
  • 移动互联和网站开发哪个好做推广便宜的网站有哪些
  • 极速网站建设定制价格微信公众号运营助手
  • .net制作网站开发教程在线修图编辑器
  • 哪些网站可以做详情页聊城高新区建设局网站
  • 湖南网站优化代运营山东建设厅证件查询网址
  • 以百度云做网站空间浙江外贸网站建设
  • 南通网站建设推广专家wordpress 信息流 主题
  • 网站培训机构有哪些大学生做企业网站
  • 网站培训班有哪些课程做的好的大学生旅行有哪些网站好
  • 昌江县住房和城乡建设局网站佛山建设网站制作
  • 做网站 图片 文件夹 放哪儿北京模板网站建设
  • 网站制作公司哪家正规注册工程公司名称大全