当前位置: > 财经>正文

SpringMVC后台接收参数的几种方式 外汇价值形式有哪几种类型的表示符号是

2023-09-04 18:17:22 互联网 未知 财经

SpringMVC后台接收参数的几种方式

 

一、@RequestParam 注解

在处理方法入参处使用 @RequestParam 可以把请求参数传递给请求方法的形参。

@RequestParam 注解的作用

value=”name”    表示参数名称。

required=true         表示如果没有传递参数,则会报 400参数异常。

以下对前台传参数的常用方式介绍@RequestParam 注解的作用:

1、GET请求方式传递参数 /** * @RequestParam注解获取参数(GET请求方式) * @param paramName * @return */@GetMapping("/testGet1")public String testGet1(@RequestParam("paramName") String paramName){    System.out.println("paramName:"+paramName);    return paramName;}

前台代码:

   

/**     * GET请求方式传递参数     *     * @author: chenlw     * @date 2018/10/2  23:41     **/    function testGet1() {        $.get(basePath + "/api/params/testGet1?paramName=123", {}, function (data) {            alert("GET请求方式传递参数---后台返回来的参数:" + data);        });        AJAX传递请求参数(GET请求方式)//        var data = {};//        data.paramName = "111";//        data.paramName1 = "222";//        $.get(basePath + "/api/params/testGet2", data, function (data) {//            alert("AJAX传递请求参数(GET请求方式)---后台返回来的参数:" + data);//        });    }

运行结果:

 

2、POST请求方式传递参数

后台代码:

/** * @RequestParam注解获取参数(POST请求方式) * @param paramName * @return */@PostMapping("/testPost1")public String testPost1(@RequestParam("paramName") String paramName){    System.out.println("paramName:"+paramName);    return paramName;}

前台代码:

/** * AJAX传递请求参数(POST请求方式) * * @author: chenlw * @date 2018/10/2  23:45 **/function testPost1() {    var data = {};    data.paramName = "111";    $.post(basePath + "/api/params/testPost1", data, function (data) {        alert("后台返回来的参数:" + data);    });}

运行结果:

 

二、@PathVariable注解

@PathVariable注解的作用就是从URL里面读取参数值,可以在@RequestMapping里面添加占位符{paramName},还可以添加正则表达式。如http://localhost:8099/XXX/XXX/XXX/param,这个传递到后台的参数值就是param。@PathVariable注解一般用于传递一个参数的情景,当然也可以通过URL传递多个参数。

1、GET请求方式传递参数

后台代码:

/** * @PathVariable注解的作用就是从URL里面读取参数值(GET请求方式) * @param paramName * @return */@GetMapping("/testGet2/{paramName}")public String testGet2(@PathVariable String paramName){    System.out.println("paramName:"+paramName);    return paramName;}

前台代码:

/** * URL传递参数 * * @author: chenlw * @date 2018/10/2  23:45 **/function testGet2() {    $.get(basePath + "/api/params/testGet2/111112333", {}, function (data) {        alert(" URL传递参数---后台返回来的参数:" + data);    });}

运行结果:

 

2、POST请求方式传递参数

后台代码:

/** * @PathVariable注解的作用就是从URL里面读取参数值(POST请求方式) * @param paramName * @return */@PostMapping("/testPost2/{paramName}")public String testPost2(@PathVariable String paramName){    System.out.println("paramName:"+paramName);    return paramName;}

前台代码:

/** * URL传递一个参数(POST请求方式) * * @author: chenlw * @date 2018/10/2  23:45 **/function testPost2() {    ///只传递一个参数    $.post(basePath + "/api/params/testPost2/111112333", {}, function (data) {        alert(" URL传递一个参数(POST请求方式)---后台返回来的参数:" + data);    });}

运行结果:

3、URL传递多个参数

后台代码:

/** * @PathVariable注解的作用就是从URL里面读取参数值(GET请求方式) * * @PathVariable注解一般用于只传递一个参数的场景,当然也可以传递多个参数。 * * @param param1  占位符{}添加了正则表达式,限定5位数值,如果传递过来的参数不合要求则不会执行方法的代码。 * @param param2 * @return */@GetMapping("/testGet2_1/{param1:[0-9]{5}}/{param2}")public String testGet2_1(@PathVariable String param1,@PathVariable String param2){    System.out.println("param1:"+param1);    System.out.println("param2:"+param2);    return param1+","+param2;}

前台代码:

/** * URL传递多个参数 * * @author: chenlw * @date 2018/10/2  23:45 **/function testGet2_1() {    ///传递两个参数    $.get(basePath + "/api/params/testGet2_1/11111/22222", {}, function (data) {        alert(" URL传递参数---后台返回来的参数:" + data);    });}

运行结果:

 

三、SpringMVC的自动匹配 1、GET请求方式传递参数

后台代码:

/** * springMVC的自动匹配参数(GET请求方式) * * 形参paramName会自动匹配请求中key为paramName的参数值。 * * 可以接收AJAX封装的请求参数 * * @param paramName */@GetMapping("/testGet3")public String testGet3(String paramName,String paramName1, Model model){    System.out.println("paramName:"+paramName);    System.out.println("paramName1:"+paramName1);    model.addAttribute("paramName",paramName);    return paramName;}

前台代码:

/** * SpringMVC自动匹配参数(GET请求方式) * * @author: chenlw * @date 2018/10/2  23:40 **/function testGet3() {    $.get(basePath + "/api/params/testGet3?paramName=111¶mName1=222", {}, function (data) {        alert("SpringMVC自动匹配参数---后台返回来的参数:" + data);    });}

运行结果:

 

2、POST请求方式传递参数

后台代码:

/** * springMVC的自动匹配参数(POST请求方式) * * 形参paramName会自动匹配请求中key为paramName的参数值。 * * 可以接收AJAX封装的请求参数 * * @param paramName */@PostMapping("/testPost3")public String testPost3(String paramName,String paramName1, Model model){    System.out.println("paramName:"+paramName);    System.out.println("paramName1:"+paramName1);    model.addAttribute("paramName",paramName);    return paramName;}

前台代码:

/** * SpringMVC自动匹配参数(POST请求方式) * * @author: chenlw * @date 2018/10/2  23:40 **/function testPost3() {    $.post(basePath + "/api/params/testPost3?paramName=111¶mName1=222", {}, function (data) {        alert("SpringMVC自动匹配参数---后台返回来的参数:" + data);    });}

运行结果:

 

四、SpringMVC的自动装箱(实体类接收参数)

实体类定义如下:

@Data@Accessors(chain = true)public class ParamsEntity {    String param1;    String param2;} 1、GET请求方式传递参数

后台代码:

/** * SpringMVC的自动装箱(GET请求方式) * * SpringMVC会把请求参数装箱到实体类的属性当中,属性名称就是参数名称 * * @param paramsEntity * @return */@GetMapping("/testGet4")public String testGet4(ParamsEntity paramsEntity){    System.out.println("params:"+paramsEntity.toString());    return paramsEntity.toString();}

前台代码:

/**     * SpringMVC自动装箱(GET请求方式)     *     * @author: chenlw     * @date 2018/10/2  23:40     **/    function testGet4() {        var data = {};        data.param1 = "123";        data.param2 = "2233";        $.get(basePath + "/api/params/testGet4", data, function (data) {            alert("SpringMVC自动装箱---后台返回来的参数:" + data);        });        ///使用GET请求方式传递参数        //SpringMVC自动装箱也可以把GET请求的参数自动装箱,将参数值装箱到实体类对应的属性上。//        $.get(basePath + "/api/params/test4?param1=11111¶m2=22222", {}, function (data) {//            alert("后台返回来的参数:" + data);//        });    }

运行结果:

 

2、POST请求方式传递参数

后台代码:

/** * SpringMVC的自动装箱(POST请求方式) * * SpringMVC会把请求参数装箱到实体类的属性当中,属性名称就是参数名称 * * @param paramsEntity * @return */@PostMapping("/testPost4")public String testPost4(ParamsEntity paramsEntity){    System.out.println("params:"+paramsEntity.toString());    return paramsEntity.toString();}

前台代码:

/** * SpringMVC自动装箱(POST请求方式) * * @author: chenlw * @date 2018/10/2  23:40 **/function testPost4() {    var data = {};    data.param1 = "123";    data.param2 = "2233";    $.post(basePath + "/api/params/testPost4", data, function (data) {        alert("SpringMVC自动装箱---后台返回来的参数:" + data);    });}

运行结果:

五、结言

以上几种就是常用的后台接收前台请求参数的方法。

Demo下载地址:https://download.csdn.net/download/qq_33721382/10700642

Github:https://github.com/chenliwu/SpringMVCParameterDemo

 

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。