• springboot 之 在Controller如何接收参数呢?


    转自:

    springboot 之 在Controller如何接收参数呢?

    下文笔者将讲述Controller中接收url路径中的参数、表单、问号后面参数、body中的JSON信息

    使用@PathVariable
    直接使用String定义变量
    使用HttpServletRequest接收request对象,然后获取其中的变量
    使用requestbody注解获取json内容
    使用model接收参数信息
    

    例:

    package com.java265.controller;
     
    import com.java265.domain.User;
    import org.springframework.web.bind.annotation.*;
     
    import javax.servlet.http.HttpServletRequest;
    import java.util.List;
     
    @RestController
    public class ControllerTest3 {
     
        //----------------------方法1、获取路径中的值----------------------------
        /**
         * URL:http://localhost:8081/addUser0/zhangsan
         *
         * @param username
         * @return
         */
        @GetMapping("/addUser0/{username}")
        public String addUser0(@PathVariable String username) {
            System.out.println("username : " + username);
            return "success";
        }
     
        //----------------------方法2、获取路径中的参数----------------------------
        /**
         * URL:http://localhost:8081/addUser1?username=zhangsan
         *
         * @param username
         * @return
         */
        @GetMapping("/addUser1")
        public String addUser1(String username) {
            System.out.println("username : " + username);
            return "success";
        }
     
        //----------------------方法3、通过bean接收HTTP提交的对象----------------------------
        /**
         * URL:http://localhost:8081/addUser2?username=zhangsan&age=88
         *
         * @param user
         * @return
         */
        @GetMapping("/addUser2")
        public String addUser2(User user) {
            System.out.println("user ... " + user);
            return "success";
        }
     
        //----------------------方法4、通过HttpServletRequest接收参数----------------------------
        /**
         * URL:http://localhost:8081/addUser3?username=zhangsan
         *
         * @param request
         * @return
         */
        @GetMapping("/addUser3")
        public String addUser3(HttpServletRequest request) {
            System.out.println("username ... " + request.getParameter("username"));
            return "success3";
        }
     
        //----------------------方法5、用@RequestParam绑定入参----------------------------
        /**
         * 通过@RequestParam注解绑定入参 
         * URL:http://localhost:8081/addUser1?username=zhangsan
         *
         * @param username
         * @return
         */
        @GetMapping("/addUser4")
        public String addUser4(@RequestParam String username) {
            System.out.println("username : " + username);
            return "success4";
        }
     
        //----------------------方法6、用@RequestBody接收JSON数据----------------------------
        /**
         * URL:http://localhost:8081/addUser5
         * BODY:
         * [
         * {
         * "username": "zhangsan",
         * "age": "26"
         * },
         * {
         * "username": "lisi",
         * "age": "18"
         * }
         * ]
         * 

    * 通过@RequestBody接收JSON入参,同时需要设置http的header中Content-Type属性值为[application/json;charset=UTF-8] * * @param userList * @return */ @PostMapping("/addUser5") public String addUser5(@RequestBody List userList) { System.out.println("userList : " + userList); return "success5"; } //----------------------方法7、用@ModelAttribute注解获取参数---------------------------- /** * URL:http://localhost:8081/addUser6?username=zhangsan&age=18 *

    * 通过@ModelAttribute注解,从Model、Form或者URL请求参数中获取属性值,上面的URL演示从URL参数中取值 * * @param user * @return */ @PostMapping("/addUser6") public String addUser6(@ModelAttribute("user") User user) { System.out.println("user ... " + user); return "success6"; } /** * URL:http://localhost:8081/addUser7 *

    * 通过@ModelAttribute注解,从Model、Form或者URL请求参数中获取属性值,上面的URL演示从Model中取值 * * @param user * @return */ @PostMapping("/addUser7") public String addUser7(@ModelAttribute("user") User user) { System.out.println("user7 ... " + user); return "success7"; } //Get获取参数信息 @ModelAttribute("user") public User addAccount() { return new User("zhangsan",8888); } }

  • 相关阅读:
    m无线通信的调制解调过程的matlab仿真,包括ASK,FSK,PSK
    【计算机网络】IP协议(下)
    5000+ 字解读 | 产品经理:如何做好元器件选型?
    【下载共享文件】Java基于SMB协议 + JCIFS依赖下载Windows共享文件(亲测可用)
    学好Linux的必经之路
    真不戳,Java 协程终于来了
    python篇----进程+线程
    每章一篇博客带你拿下吉林大学JAVAEE期末(六:EJB)
    Vue 之 父组件给子组件的传参的另类方式实现自定义弹窗组件
    B2R Raven: 2靶机渗透
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/128011436