美文网首页
java接收前端不同参数的不同注解

java接收前端不同参数的不同注解

作者: 黑黑的大猫 | 来源:发表于2019-01-14 09:36 被阅读0次

    1.@ModelAttribute 注解

    请求示例:url:"http://localhost:8080/test",

                        data:{

                            "name":"张三",

                            "phone":"10086",

                            "password":"123456"                    }

    对应的接收java代码:

    @RequestMapping("/test")

        @ResponseBody

        publicString testUser(@ModelAttribute("TUser") TUser user){

            System.out.println(user.getName());

            System.out.println(user.getPassword());

            System.out.println(user.getPhone());

            return"ok";}

    2.@PathVariabl 注解

    url:"http://localhost:8080/test/10086",

                        data:{

                            "name":"张三",

                            "password":"123456"                    },

    对应的接收java代码:

    @RequestMapping("/test/{phone}")

        @ResponseBody

        public String testUser(String name,@PathVariable String phone,String password){

            System.out.println(name);

            System.out.println(phone);

            System.out.println(password);

            return"ok";  }

    3.直接用HttpServletRequest获取

    @RequestMapping("/test")

        @ResponseBody

        public String testUser(HttpServletRequest request, HttpServletResponse response){

            System.out.println(request.getParameter("name"));

            System.out.println(request.getParameter("phone"));

            System.out.println(request.getParameter("password"));

            return "ok";

        }

    4.@RequestParam绑定请求参数

    前端请求代码等同于案例一

    java接收参数

    @RequestMapping("/test")

        @ResponseBody

        public String testUser(@RequestParam("name") String a,@RequestParam("phone") String b, String password){

            /**

            * @RequestParam() 里边的值必须要和前端传递过来的参数名字相同

            */

            System.out.println(a);

            System.out.println(b);

            System.out.println(password);

            return "ok";

        }

    总结:

    1、如果前端传递过来的参数与后台接口定义的参数名相同,可以不需要任何注解,如果所有参数都在一个pojo对象中,那么可以直接映射成pojo对象,也可以使用  HttpServletRequest 接收参数

    2、如果想使用 resfull 风格的请求方式的话,可以使用 @PathVariable 进行注解

    3、如果前端传递的参数与后台接口定义的参数名称不相同,那么就使用 RequestParam 注解

    相关文章

      网友评论

          本文标题:java接收前端不同参数的不同注解

          本文链接:https://www.haomeiwen.com/subject/xwtddqtx.html