精华内容
下载资源
问答
  • swagger2 中怎么使用get请求传参

    千次阅读 2020-04-03 09:26:59
    // 查询商城分类页面的seo详情 @GetMapping("/shop-category") @ResponseBody @ApiOperation("查询xxx详情") public AjaxResult getWebShopCategoryUrlInfo (@RequestParam @ApiParam(name="categoryId",value=...
     // 查询商城分类页面的seo详情
        @GetMapping("/shop-category")
        @ResponseBody
        @ApiOperation("查询xxx详情")
        public AjaxResult getWebShopCategoryUrlInfo (@RequestParam @ApiParam(name="categoryId",value="分类id",required=true) String categoryId) {
            OpeSeo result = opeSeoService.getWebUrlSeo(SeoRelevanceType.SHOP_PRODUCT_CATEGORY.value(),categoryId);
            return AjaxResult.success(result);
        }

    只需要加上@RequestParam注解即可

    展开全文
  • get请求中url传参中文乱码问题--集锦

    万次阅读 多人点赞 2015-11-24 14:07:27
    ================================================= 分享一个好友的人工智能教程。零基础!通俗易懂!风趣幽默!大家可以看看是否对自己有帮助!... ============================...那么在遇到这种情况下我们应该怎么...

    =================================================
    分享一个好友的人工智能教程。零基础!通俗易懂!风趣幽默!大家可以看看是否对自己有帮助!

    点击查看教程

    =================================================

      

      在项目中经常会遇到中文传参数,在后台接收到乱码问题。那么在遇到这种情况下我们应该怎么进行处理让我们传到后台接收到的参数不是乱码是我们想要接收的到的,下面就是我的一些认识和理解。

     一:get请求url中带有中文参数,有三种方式进行处理防止中文乱码

        1、如果使用tomcat作为服务器,那么修改tomcat配置文件conf/server.xml中,在  <Connector port="8082" protocol="HTTP/1.1"  中加入  URIEncoding="utf-8"的编码集

        2、前台需要对中文参数进行编码,调用js方法encodeURI(url),将url编码,然后请求。

                      后台接受时,需处理String str = new String(request.getParameter("param").getBytes("iso8859-1"),"UTF-8");

                     原因:tomcat不设置编码时,默认是iso8859-1,即tomcat默认会以iso8859-1编码接收get参数。 以上操作是将参数以iso8859-1编码转化为字节数组,然后再以UTF-8将字节数组转化为字符串。

                      另外需注意在框架的使用中:request.setCharacterEncoding(encoding);只对post请求有效。而且,spring的CharacterEncodingFilter也只是做了request(和response).setCharacterEncoding(encoding);的操作。所以spring的filter配置不作用于get参数接收。

        3、解决get请求,后台接受中文参数乱码处理的方法(搜索功能带参数)

               (1)前台获取数据,在js中进行编码处理

     

                 encodeURI函数采用utf-8进行编码,而在服务器的进行解码时候,默认都不是以uft-8进行解码,所以就会出现乱码。

    两次encodeURI,第一次编码得到的是UTF-8形式的URL,第二次编码得到的依然是UTF-8形式的URL,但是在效果上相当于首先进行了一 次UTF-8编码(此时已经全部转换为ASCII字符),再进行了一次iso-8859-1编码,因为对英文字符来说UTF-8编码和ISO- 8859-1编码的效果相同。

     (2)后台解码处理

    在后台接收参数时候,首先通过request.getParameter()自动进行第一次解码(可能是 gb2312,gbk,utf-8,iso-8859-1等字符集,对结果无影响)得到ascii字符,然后再使用UTF-8进行第二次解码,通常使用 java.net.URLDecoder("","UTF-8")方法。

     

    两次编码两次解码的过程为:

    UTF-8编码->UTF-8(iso-8859-1)编码->iso-8859-1解码->UTF-8解码,编码和解码的过程是对称的,所以不会出现乱码。

    注: 

       1:这种两次encodeURI方式不用去知道服务器的解码方式,也可以得到正确的数据。

       2:get请求建议尽量不带中文参数,如果使用建议使用两次encodeURI进行编码

       3.参考资料     URL编码与两次encodeURI:http://blog.sina.com.cn/s/blog_8af112fd0102vxb7.html

             

     

     

              

     

     

     

       

       

       

    展开全文
  • 一:get请求url中带有中文参数,有三种方式进行处理防止中文乱码 1、如果使用tomcat作为服务器,那么修改tomcat配置文件conf/server.xml中,在<Connectorport="8082"protocol="HTTP/1.1"中加入URIEncoding="utf...

     在项目中经常会遇到中文传参数,在后台接收到乱码问题。那么在遇到这种情况下我们应该怎么进行处理让我们传到后台接收到的参数不是乱码是我们想要接收的到的,下面就是我的一些认识和理解。

     一:get请求url中带有中文参数,有三种方式进行处理防止中文乱码

        1、如果使用tomcat作为服务器,那么修改tomcat配置文件conf/server.xml中,在  <Connector port="8082" protocol="HTTP/1.1"  中加入  URIEncoding="utf-8"的编码集

        2、前台需要对中文参数进行编码,调用js方法encodeURI(url),将url编码,然后请求。

                      后台接受时,需处理String str = new String(request.getParameter("param").getBytes("iso8859-1"),"UTF-8");

                     原因:tomcat不设置编码时,默认是iso8859-1,即tomcat默认会以iso8859-1编码接收get参数。 以上操作是将参数以iso8859-1编码转化为字节数组,然后再以UTF-8将字节数组转化为字符串。

                      另外需注意在框架的使用中:request.setCharacterEncoding(encoding);只对post请求有效。而且,spring的CharacterEncodingFilter也只是做了request(和response).setCharacterEncoding(encoding);的操作。所以spring的filter配置不作用于get参数接收。

        3、解决get请求,后台接受中文参数乱码处理的方法(搜索功能带参数)

               (1)前台获取数据,在js中进行编码处理

     

                 encodeURI函数采用utf-8进行编码,而在服务器的进行解码时候,默认都不是以uft-8进行解码,所以就会出现乱码。

    两次encodeURI,第一次编码得到的是UTF-8形式的URL,第二次编码得到的依然是UTF-8形式的URL,但是在效果上相当于首先进行了一 次UTF-8编码(此时已经全部转换为ASCII字符),再进行了一次iso-8859-1编码,因为对英文字符来说UTF-8编码和ISO- 8859-1编码的效果相同。

     (2)后台解码处理

    在后台接收参数时候,首先通过request.getParameter()自动进行第一次解码(可能是 gb2312,gbk,utf-8,iso-8859-1等字符集,对结果无影响)得到ascii字符,然后再使用UTF-8进行第二次解码,通常使用 java.net.URLDecoder("","UTF-8")方法。

     

    两次编码两次解码的过程为:

    UTF-8编码->UTF-8(iso-8859-1)编码->iso-8859-1解码->UTF-8解码,编码和解码的过程是对称的,所以不会出现乱码。

    展开全文
  • get和post提交的区别:get请求的参数会和url拼接起来,当参数较多时,会导致url过长。 所以:当参数较多时,适合post提交;参数少时适合get提交,但get提交会引起汉字乱码; 注意前后台的type一致。 (也可以直接...

    注意:传的参数类型必须和后台定义的参数类型一致,否则会报400错误。

    type=post :  post提交

    type=get:  get提交

    get和post提交的区别:get请求的参数会和url拼接起来,当参数较多时,会导致url过长。

    所以:当参数较多时,适合post提交;参数少时适合get提交,但get提交会引起汉字乱码;

    注意前后台的type一致。

    (也可以直接将参数以?&的方式拼接在url后面,这种方式是get提交)

    一、get提交

    js:

    contentType : 'application/x-www-form-urlencoded'
    或者contentType : 'application/json' 都可

     但data里面必须是json字符串,即var jsonStr = {"pageNum":2, "pageSize":20}格式;不能用JSON.stringify(jsonStr)来转化;否则后端接收到的数据为null

    var jsonStr = {"pageNum":2, "pageSize":20, "serialNumber":serialNumber, "name":name, 
       "capacity":capacity, "createTimeStart":createTimeStart, "createTimeEnd":createTimeEnd};
                var url = "commodityTemplate/list";
                $.ajax({
                    async : false,
                    url : url,
                    type : 'get',
                    contentType : 'application/x-www-form-urlencoded',
                    //或者contentType : 'application/json',
                    dataType:'json',
                    data : jsonStr,
                    success : function(o) {
                        callback(o);
                    },
                    error:function(){
                        alert("出错啦...");
                    },
                });
    

    controller:

    get提交时,后端会有乱码,此时需要进行编码转换

    String name = new String(name.getBytes(“ISO-8859-1”), “UTF-8”)

     @RequestMapping(value ="/list", method = RequestMethod.POST)
        @ResponseBody
        public ResultObject list(@RequestParam(value = "pageNum",defaultValue = "1") Integer pageNum,
                                 @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize,
                                 @RequestParam(value = "serialNumber", required = false)String serialNumber,
                                 @RequestParam(value = "name", required = false)String name,
                                 @RequestParam(value = "capacity", required = false)Integer capacity,
                                 @RequestParam(value = "createTimeStart", required = false)Long createTimeStart,
                                 @RequestParam(value = "createTimeEnd", required = false)Long createTimeEnd) throws Exception{
    
            //封装查询条件
            Map map = new HashMap();
            map.put("pageNum", pageNum);
            map.put("pageSize", pageSize);
            map.put("serialNumber", new String(serialNumber.getBytes(“ISO-8859-1”), “UTF-8”));
            map.put("name", new String(name.getBytes(“ISO-8859-1”), “UTF-8”));
            map.put("capacity", capacity);
            map.put("createTimeStart", createTimeStart);
            map.put("createTimeEnd", createTimeEnd);
    
            return commodityTemplateService.list(map);
        }

    二、post提交

    js:

    注意:

    1、contentType : 'application/x-www-form-urlencoded'
    不能是:contentType : 'application/json',否则后端接收到的数据为null

    2、data里面必须是json字符串,即var jsonStr = {"pageNum":2, "pageSize":20}格式;不能用JSON.stringify(jsonStr)来转化;否则后端接收到的数据也为null

    var jsonStr = {"pageNum":2, "pageSize":20, "serialNumber":serialNumber, "name":name, 
       "capacity":capacity, "createTimeStart":createTimeStart, "createTimeEnd":createTimeEnd};
                var url = "commodityTemplate/list";
                $.ajax({
                    async : false,
                    url : url,
                    type : 'POST',
                    contentType : 'application/x-www-form-urlencoded',
                    dataType:'json',
                    data : jsonStr,
                    success : function(o) {
                        callback(o);
                    },
                    error:function(){
                        alert("出错啦...");
                    },
                });
    

    controller:

     post提交,后端接收的参数不会出现乱码,因为在web.xml中已经处理了post请求的乱码。

     @RequestMapping(value ="/list", method = RequestMethod.POST)
        @ResponseBody
        public ResultObject list(@RequestParam(value = "pageNum",defaultValue = "1") Integer pageNum,
                                 @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize,
                                 @RequestParam(value = "serialNumber", required = false)String serialNumber,
                                 @RequestParam(value = "name", required = false)String name,
                                 @RequestParam(value = "capacity", required = false)Integer capacity,
                                 @RequestParam(value = "createTimeStart", required = false)Long createTimeStart,
                                 @RequestParam(value = "createTimeEnd", required = false)Long createTimeEnd) throws Exception{
    
            //封装查询条件
            Map map = new HashMap();
            map.put("pageNum", pageNum);
            map.put("pageSize", pageSize);
            map.put("serialNumber", serialNumber);
            map.put("name", name);
            map.put("capacity", capacity);
            map.put("createTimeStart", createTimeStart);
            map.put("createTimeEnd", createTimeEnd);
    
            return commodityTemplateService.list(map);
        }

     

     

    ======以下于你或许是个好消息======

     

    好消息就是:欢迎访问下面的博客网站哈哈哈......

     

    网站名称:Java学习笔记网  (点击进入)

    url:https://www.javaxxbj.com/ (点击进入)

    网站特点:

    1. java主要网站的导航目录
    2. 你可以记录自己的博客,并可以控制显示和隐藏,可利于管理啦!!!
    3. 可以添加收藏各个网站的链接!!!
    4. 甚至也可以文章收藏,点赞,关注,查看我的消息等功能哦!!1

    看一小点点的截图:

    或可一试哦!

     

    展开全文
  • 怎么传参? getCitysByParentId是回调函数,我现在想往getCitysByParentId这个回调函 数中传liId这个参数进去,该怎么处理? ``` var xmlHttpRequest; function createXmlHttpRequest() { //判断不同...
  • 今天跟公司后端对接口,公司后端小盆友们为了省事,直接给我发截图,让我猜怎么请求接口,怎么传参。仔细研究了研究,发现如下信息: 1.后端接口方法使用@RequestBody,证明前端得请求参数应该放在body里,使用...
  • get请求带参带的是对象怎么

    千次阅读 2020-10-30 10:46:03
    前端get请求有时候会带参给后端用来返回我们需要的值。 这个参一般是字符串或者是number类型。 但是如果是对象类型,前端应该怎么做? //这种传参是不对的,后端无法识别出来。 ... //应该对路径进行转义,变成下面这种...
  • C# 接口Get请求带Body

    2020-12-22 10:08:10
    这几天在调用第三方的接口遇到了GET请求并且还要带有body参数,并且参数类型还得是Json,在我的记忆力GET都是URL传参,网上找了好多方法都不行。用Postman调用可以请求到数据,但是C#代码怎么弄都不行,用Postman...
  • 我们常用的接口请求方式是Get或者Post请求,而我们使用Post请求的时候,参数使用JSON格式的时候会比较多,而我们使用Get请求时,常常使用的传参形式,多为Key-value的形式。 而最近我使用Get请求的时候,遇到一个...
  • 参数到底怎么传值?...,我说的可能不准确,不过在实践中确实是这样,也许是我做php的同事做过处理了,GET方式下不论在集合中还是拼接url,都能正确请求 ; post就没异议了,必须放在集合(HashMap)
  • (二)Asp.net web api中的坑-【http get请求中的参数】 ...所以怎么传参,或者通俗的说,http请求应该怎么请求api,api后台应该怎么写,才能准确的接收到参数。 HttpGet 请求 1、get请求,单参数 前端ajax  va...
  • (二)Asp.net web api中的坑-【http get请求中的参数】 原文:(二)Asp.net web api中的坑-【http get请求中的参数】 webapi主要的用途就是...所以怎么传参,或者通俗的说,http请求应该怎么请求ap...
  • 这是一个简单的分页GET请求,需求是每次点击【send】都能使分页值pageindex增加,得到每一页数据。 步骤: 1)设置全局参数pageindex 点击右上角【眼睛图标】 然后点击【Edit】 然后来到这个弹窗设置全局参数 ...
  • 前言: 最近项目需要页面的快捷操作,跳转路由时需要带上参数去另一个...由于query相当于get请求,参数是拼接在url后面的,所以刷新不会消失。 相关说明: 重点就在于目标页面这个对于路由的监听函数,不然假如你第一
  • php onclick 传参问题

    2017-01-07 07:27:37
    我想实现点击{$v['username']}时,传递一个{$v['id']}参数,弹出层显示出该用户的详细信息,效果图在下面图中,我写的ajax传参没有效果,不知怎么写才能传递参数。。。 js代码: var id = $("#id").val(); ...
  • 下面来说说get方式传参的解决方案吧!   假设 movieName='风声'; playUrl='/movie/风声/风声.rm'; url="play.jsp?movieName="+movieName+"&amp;playUrl="+playUrl   若按照上述的...
  • 在这里先简单说一下get提交和post提交。 本质上,它们俩没有区别,都是http请求的一种方式。...用一个URL的多个请求返回的是同样的结果,不管怎么样操作,参数不会丢失,适合放经常需要获取,放在别处又容易丢...
  • 最近手上一个项目,碰到spring REST风格传参的问题,参考代码: ``` @RequestMapping(value="/aa/{bb}/w/{width}/h/{high}", method=RequestMethod.GET) public void testRest(@PathVariable("bb") String name...
  • 终于知道怎么在c#后台发post请求

    万次阅读 2018-06-20 16:32:05
    C#进阶系列——WebApi 接口参数不再困惑:传参详解阅读目录一、get请求1、基础类型参数2、实体作为参数3、数组作为参数4、“怪异”的get请求二、post请求1、基础类型参数2、实体作为参数3、数组作为参数4、后台发送...
  • axios请求怎么传参数 axios请求get传参 无参的情况下axios.get(地址) 有参数: axios.get(地址,{params:{}}) params对应的json就是我们要传入到后端的数据 .then{ res => { 成功了干啥 }} .catch(err =&...
  • 这两天在研究HttpClient,里面HttpPost与HttpGet传参的方式有些许区别。 但当我在HttpPost里直接url传参也是可以的。顿时有点迷惑。...GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过W...
  • ②得到了提示,应该是用CTFHUB方法向网页发送GET方式请求,但并没有具体规定要发送什么和怎么做(甩锅) 我经历了一顿GET传参,flag就是不出 上网查了一下,我们需要打开cmd命令输入这一行payload???? curl -v -...

空空如也

空空如也

1 2 3
收藏数 57
精华内容 22
关键字:

get请求怎么传参