SpringBoot接收前端数据的6种方式

  • 非JSON数据

    1. 直接用参数名接收

      //当前端传的参数名和后端接收的参数名一致,可以直接接收
      @RequestMapping("/login")
      public CommonResult login(String username,String password)
      

      前端以key-value的格式把数据放在请求体


      image1.jpg
      //当前端传的参数名和后端接收的参数名不一致,则需要用注解@RequestParam声明参数要接收的是前端传过来的哪个数据
      @RequestMapping("/login")
      public CommonResult login(@RequestParam("name") String username,@RequestParam("mima") String password)
      
      image2.jpg
    2. 用Entity对象接收

      //当前端参数较多,在后端接收时可以用Entity对象接收,参数值会自动赋给接收的对象属性(要保持接收对象的属性名和前端传入的参数名一致)
      public CommonResult login(LoginDTO loginDTO)
      
      image3.jpg
    3. Restful风格

      //前端可直接将参数拼接在路径中,后端用@PathVariable注解声明接收路径中的值,当路径中声明的变量名和方法中的参数名一致,直接用@PathVariable即可
       @RequestMapping("/login/{username}/{password}")
       public CommonResult login(@PathVariable String username,@PathVariable String passord)
      
      //当路径中的变量名和方法的参数名不一致,则需要在@PathVariable声明取路径中的哪个值
       @RequestMapping("/login/{name}/{mima}")
       public CommonResult login(@PathVariable("name") String username,@PathVariable("mima") String passord)
      
    image4.jpg
    1. Request对象接收参数
      //在方法参数列表中声明一个HttpRequest的实现类HttpServletRequest实例
       @RequestMapping("/login")
       public CommonResult login(HttpServletRequest request)
       {
       String username = request.getParameter("username");
       String password = request.getParameter("password");
       //除此之外还能获取到一些其他信息
       String IP = request.getRemoteAddr();//远程地址
       }
      
  • JSON数据

    1. JSON数据直接放在Entity对象中

      //前端数据以JSON格式放在RequestBody中,后端以@RequestBody注解,声明将传入数据放在实例对象中
      @RequestMapping("/login")
      public CommonResult login(@RequestBody LoginDTO loginDTO)
      
      image5.jpg
    2. JSON数据放在Map中

      //可以将前端传过来的JSON数据存在map中
      @RequestMapping("/login")
      public CommonResult login( @RequestBody  Map<String,Object> map)
      {
       String username =(String) map.get("username");
       String password =(String) map.get("password");
      }
      
      image6.jpg
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容