springmvc传参

方式1 使用request的getParameter()

方法参数中使用request,通过request.getParameter(“参数名”),再封装到bean中

/**
     * @description: 方式1 request的getParameter()方法获取参数
       @return:
     * @return:
     */
@RequestMapping("/req")
    public JsonResult req(HttpServletRequest request){
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        return JsonResult.ok(username+","+password);
    }

在这里插入图片描述

方式2 简单类型参数和@RequestParam

	如果请求参数和Controller方法的形参同名,可以直接接收
	如果请求参数和Controller方法的形参不同名,可以使用@RequestParam注解贴在形参前,设置对应的参数名称
/**
     * @description: 方式2 简单参数
     @return:
      * @return:
     */
    //1 参数名一致,字段
    @RequestMapping("/simple1")
    public JsonResult simple1(String username,String password){
        System.out.println(username);
        System.out.println(password);
        return JsonResult.ok(username+","+password);
    }
    //2 参数名不一致,字段
    @RequestMapping("/simple2")
    public JsonResult simple2(@RequestParam("username") String name, @RequestParam(value = "password",defaultValue = "1234987") String pwd){
        //使用了@RequestParam的参数不能传空值
        // required:表示是否必须要传值
        // defaultValue:当没有该请求参数时,SpringMVC给请求参数的默认值
        return JsonResult.ok(name+","+pwd);
    }
    //3 参数名一致,实体
    @RequestMapping("/simple3Add")
    public JsonResult simple3Add(TbTest vo) {
        System.out.println(vo);
        tbTestMapper.insert(vo);
        return JsonResult.ok("添加成功");
    }

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

方式3 实体接收 @RequestBody

/**
     * @description:  @RequestBody 接收
       @return:
     * @return:
     */
    @RequestMapping("/pojo")
    public JsonResult pojo(@RequestBody TbTest vo) {
        System.out.println(vo);
        int insert = tbTestMapper.insert(vo);
        return JsonResult.ok("添加成功");
    }

方式3 map接收 (不推荐使用)

/**
     * @description: map传参,不推荐使用,维护困难
       @return:
     * @return:
     */
    @RequestMapping("/map")
    public JsonResult map(Map <String,String> map) {
        System.out.println(map);
        return JsonResult.ok(map);
    }

    @RequestMapping("/map2")
    public JsonResult map2(@RequestBody  Map <String,String> map) {
        System.out.println(map);
        return JsonResult.ok(map);
    }

    @RequestMapping("/map3")
    public JsonResult map3(@RequestParam  Map <String,String> map) {
        System.out.println(map);
        return JsonResult.ok(map);
    }
  • 1 无注解,接收不到数据
  • 2 @RequestBody 放在请求体中
  • 3 @RequestParam 参数在params和form和body都可以

方式4 restful风格

特点:

  • 方法类型,get,post,put,del
  • 参数写在路径上,使用@PathVariable(“id”)接收
@RequestMapping(value = "/getrestful/{id}", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
    public JsonResult getrestful(@PathVariable("id") String id) {
        TbTest tbTest = tbTestMapper.selectById(id);
        return JsonResult.ok(tbTest);
    }

在这里插入图片描述

方式5 cookie @CookieValue

@RequestMapping("/getCookie")
    public JsonResult cookie(@CookieValue("JSESSIONID") String jsessinbId) {
        System.out.println(jsessinbId);
        return JsonResult.ok(jsessinbId);
    }

方式6 Header @RequestHeader

@RequestMapping("/getHeader")
    public JsonResult getHeader(@RequestHeader("Accept-Encoding") String host) {
        System.out.println(host);
        return JsonResult.ok(host);
    }

方式7 表单传文件

@RequestMapping("upload")
    public String upload(@RequestParam MultipartFile file) throws IOException {

        System.out.println("1 file: "+file);
        System.out.println("--------");
        //获取源文件名
        String originalFilename = file.getOriginalFilename();
        System.out.println("2 originalFilename: "+originalFilename);
        System.out.println("--------");
        //获取字节输入流
        InputStream inputStream = file.getInputStream();
        System.out.println("3 inputStream: "+inputStream);
        System.out.println("--------");
        //文件转移至
        //必须有文件夹
        file.transferTo(new File("D:/zzyupload/aaa.txt"));
        file.transferTo(new File("D:/zzyupload/"+originalFilename));
        //获取字节数组
        byte[] bytes = file.getBytes();
        String s = bytes.toString();
        System.out.println("4 字节数组: "+bytes);
        System.out.println("--------");
        String contentType = file.getContentType();
        System.out.println("--------");
        System.out.println("5 contentType: "+contentType);
        String name = file.getName();
        System.out.println("--------");
        System.out.println("6 文件名: "+name);
        Resource resource = file.getResource();
        System.out.println("--------");
        System.out.println("7 resource: "+resource);
        long size = file.getSize();
        System.out.println("--------");
        System.out.println("8 size: "+size);

        return "上传成功";
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值