我是靠谱客的博主 甜美烤鸡,最近开发中收集的这篇文章主要介绍SpringMVC常用注解-@RequestParam,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • @RequestParam
    GET和POST请求传的参数会自动转换赋值到@RequestParam 所注解的方法中的形参上
  1. get请求
@RequestMapping
@RestController
public class TestController {

    @RequestMapping("/test")
    public String test(@RequestParam("name") String userName, @RequestParam("password") String password) {
        return userName + "-" + password;
    }
}
  1. post请求

    form表单post方式提交时,有三种编码格式:
    application/x-www-form-urlencoded:将表单内的数据转换为键值对
    multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息
    text/plain:文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理
    post请求时,在http请求头的Content-Type属性可以查看到上面的三种编码格式,该格式用于指定提交表单数据到服务器的编码格式

  • 当post提交的编码格式为application/x-www-form-urlencoded时,@RequestParam直接接收
  • 当post提交的编码格式为multipart/form-data时,@RequestParam直接接收,因为multipart/form-data即可上传文件,也可以上传键值对
@RequestMapping
@RestController
public class TestController {

    @PostMapping("/test")
    public String test(@RequestParam("name") String userName, @RequestParam("password") String password) {
        return userName + "-" + password;
    }
}

3.总结
(1)RequestParam实质是将HttpServletRequest.getParameter() 中的Key-Value参数Map利用Spring的转化机制ConversionService配置,转化成参数接收对象或字段。
(2)可以不使用@RequestParam注解,而直接接收,此时要求controller方法中的参数名称要跟form标签中name名称一致

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
@RequestMapping
@RestController
public class TestController {

    @PostMapping("/test")
    public String test(String userName, String password, HttpServletRequest request) {
        return userName + "-" + password+"-request:"+request.getParameter("userName");
    }
} 

在这里插入图片描述

最后

以上就是甜美烤鸡为你收集整理的SpringMVC常用注解-@RequestParam的全部内容,希望文章能够帮你解决SpringMVC常用注解-@RequestParam所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部