SpringMVC请求参数的使用总结

网友投稿 822 2023-01-15

SpringMVC请求参数的使用总结

SpringMVC请求参数的使用总结

本次数据请求使用postman, postman-:https://getpostman.com/

一、页面跳转

1. 页面跳转

@Controller

public class IndexController {

/**

* 进入首页

*

* @return 首页页面

*/

@RequestMapping("/")

public String index(){

return "/index";

}

}

2. 请求转发

@Controller

public class IndexController {

/**

* 进入首页

*

* @return 首页页面

*/

@RequestMapping("/")

public String index(){

return "/index";

}

/**

* 访问登录页面时,如果已经登录就转发到首页,未登录就进入登录页面

*

* @return 登录页面

*/

@RequestMapping("/login")

public String forward(){

if(true){

return "forward:/index";

}

return "login";

}

}

3. 重定向

@Controller

public class IndexController {

/**

* 进入首页

*

* @return 首页页面

*/

@RequestMapping("/")

public String index(){

return "/index";

}

/**

* 访问登录页面时,如果已经登录就重定向到首页,未登录就进入登录页面

*

* @return 登录页面

*/

@RequestMapping("/login")

public String redirect(){

if(true){

return "redirect:/index";

}

return "login";

}

}

二、接收表单提交参数

1. 接收简单包装类型

模拟用户登录,接收用户名、密码、验证码参数

/**

* 提交登陆信息

*

* @param username 用户名

* @param password 密码

* @param captcha 验证码

* @return 结果

*/

@PostMapping("/login1")

@ResponseBody

public Map submitLogin1(String username, String password, String captcha) {

Map resultMap = new HashMap<>(16);

resultMap.put("code", 200);

resultMap.put("msg", "登录成功");

resultMap.put("username", username);

resultMap.put("password", password);

resultMap.put("captcha", captcha);

return resultMap;

}

2. 通过request获取请求参数

/**

* 提交登陆信息

*

* @return 结果

*/

@PostMapping("/login2")

@ResponseBody

public Map submitLogin2() {

ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();

HttpServletRequest request = attributes.getRequest();

String usernaHpyhFRRme = request.getParameter("username");

String password = request.getParameter("password");

String captcha = request.getParameter("captcha");

Map resultMap = new HashMap<>(16);

resultMap.put("code", 200);

resultMap.put("msg", "登录成功");

resultMap.put("username", username);

resultMap.put("password", password);

resultMap.put("captcha", captcha);

return resultMap;

}

3. 接收对象类型

@Data

public class LoginUser {

private String username;

private String password;

private String code;

}

/**

* 提交登陆信息

*

* @return 结果

*/

@PostMapping("/login3")

@ResponseBody

public Map submitLogin3(LoginUser loginUser) {

Map resultMap = new HashMap<>(16);

resultMap.put("code", 200);

resultMap.put("msg", "登录成功");

resultMap.put("username", loginUser.getUsername());

resultMap.put("password", loginUser.getPassword());

resultMap.put("captcha", loginUser.getCaptcha());

return resultMap;

}

4.接收Map类型

/**

* 提交登陆信息

*

* @return 结果

*/

@PostMapping("/login4")

@ResponseBody

public Map submitLogin4(@RequestParam Map loginUser) {

Map resultMap = new HashMap<>(16);

resultMap.put("code", 200);

resultMap.put("msg", "登录成功");

resultMap.put("username", loginUser.get("username"));

resultMap.put("pHpyhFRRassword", loginUser.get("password"));

resultMap.put("captcha", loginUser.get("captcha"));

return resultMap;

}

5.接收数组类型

/**

* 修改角色权限

*

* @param userId 用户id

* @param roleIds 角色id

* @return 结果

*/

@PostMapping("/modifyRole1")

@ResponseBody

public Map modifyRole1(Integer userId, Integer[] roleIds) {

Map resultMap = new HashMap<>(16);

resultMap.put("code", 200);

resultMap.put("msg", "修改角色权限成功");

resultMap.put("userId", userId);

resultMap.put("roleIds", Arrays.toString(roleIds));

return resultMap;

}

6.接收List类型

/**

* 修改角色权限

*

* @param userId 用户id

* @param roleIds 角色id

* @return 结果

*/

@PostMapping("/modifyRole2")

@ResponseBody

public Map modifyRole2(Integer userId, @RequestParam("roleIds") List roleIds) {

Map resultMap = new HashMap<>(16);

resultMap.put("code", 200);

resultMap.put("msg", "修改角色权限成功");

resultMap.put("userId", userId);

resultMap.put("roleIds", roleIds.toString());

return resultMap;

}

7.接收Set类型

/**

* 修改角色权限

*

* @param userId 用户id

* @param roleIds 角色id

* @return 结果

*/

@PostMapping("/modifyRole3")

@ResponseBody

public Map modifyRole3(Integer userId, @RequestParam("roleIds") Set roleIds) {

Map resultMap = new HashMap<>(16);

resultMap.put("code", 200);

resultMap.put("msg", "修改角色权限成功");

resultMap.put("userId", userId);

resultMap.put("roleIds", roleIds.toString());

return resultMap;

}

8.接收带List参数的实体类

@Data

public class ModifyRole {

private Integer userId;

private List roleIds;

}

/**

* 修改角色权限

*

* @param modifyRole 数据

* @return 结果

*/

@PostMapping("/modifyRole4")

@ResponseBody

public Map modifyRole4(ModifyRole modifyRole) {

Map resultMap = new HashMap<>(16);

resultMap.put("code", 200);

resultMap.put("msg", "修改角色权限成功");

resultMap.put("modifyRole", modifyRole.toString());

return resultMap;

}

三、接收jsON参数

1. 接收带List参数的实体类

@Data

public class ModifyRole {

private Integer userId;

private List roleIds;

}

/**

* 修改角色权限

*

* @param modifyRole 数据

* @return 结果

*/

@PostMapping("/modifyRole5")

@ResponseBody

public Map modifyRole5(@RequestBody ModifyRole modifyRole) {

Map resultMap = new HashMap<>(16);

resultMap.put("code", 200);

resultMap.put("msg", "修改角色权限成功");

resultMap.put("modifyRole", modifyRole.toString());

return resultMap;

}

2.接收List类型

@Data

public class SysUser {

private String username;

private String password;

}

/**

* 批量新增用户

*

* @param sysUserList 数据集合

* @return 结果

*/

@PostMapping("/batchInsert")

@ResponseBody

public Map batchInsert(@RequestBody List sysUserList) {

Map resultMap = new HashMap<>(16);

resultMap.put("code", 200);

resultMap.put("msg", "批量新增用户成功");

resultMap.put("modifyRoleList", sysUserList.toString());

return resultMap;

}

3.接收Set类型

/**

* 批量新增用户

*

* @param sysUserSet 数据集合

* @return 结果

*/

@PostMapping("/batchInsert2")

@ResponseBody

public Map batchInsert2(@RequestBody Set sysUserSet) {

Map resultMap = new HashMap<>(16);

resultMap.put("code", 200);

resultMap.put("msg", "批量新增用户成功");

resultMap.put("modifyRoleSet", sysUserSet.toString());

return resultMap;

}

四、文件上传、-

1. 文件上传

新建一个文件

/**

* 上传文件

*

* @param multipartFile 上传的文件

* @return 结果

*/

@PostMapping("/upload")

@ResponseBody

public void upload(MultipartFile multipartFile) throws IOException {

ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();

// 获取文件流

InputStream inputStream = multipartFile.getInputStream();

try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, UTF_8.name()))){

// 读取文件数据

String collect = reader.lines().collect(Collectors.joining());

// 直接返回文件数据给前端

attributes.getResponse().getWriter().write(collect);

} catch (Exception e){

e.printStackTrace();

}

}

2. 文件-

/**

* 文件-

*/

@GetMapping("/download")

public ResponseEntity download() throws IOException {

File file = ResourceUtils.getFile("classpath:application.yml");

byte[] body;

try (InputStream is = new FileInputStream(file)){

body = new byte[is.available()];

is.read(body);

}

HttpHeaders headers = new HttpHeaders();

headers.add("Content-Disposition", "attchement;filename=" + file.getName());

return new ResponseEntity<>(body, headers, HttpStatus.OK);

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:闲置app运营模式(闲置app运营模式有哪些)
下一篇:小程序生态分析报告(小程序生态分析报告模板)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~