Spring Boot中接收各种各样的参数

一、接收json参数,封装为Map

1.1、核心代码

/**
 * 接收json参数,封装为Map
 * @param servletRequest
 * @return
 * @throws Exception
 */
@PostMapping("/getParam")
public R getParam(HttpServletRequest servletRequest) throws Exception {
	Map<String,Object> result = new ObjectMapper().readValue(servletRequest.getInputStream(), Map.class);
	log.info("MapController getParam result:{}", JSON.toJSONString(result));

	return R.ok().data(result);
}

1.2、Postman中传参

1.3、响应结果

1.4、后台日志记录

二、GET请求

2.1、接收GET请求方式的传参:第一种方式

2.1.1、核心代码

/**
 * 接收GET请求方式的传参:第一种方式
 *
 * @param username 用户名
 * @param password 密码
 * @return
 */
@GetMapping("/getParam1/{username}/{password}")
public R getParam1(@PathVariable String username, @PathVariable String password) {
	log.info("GETController getParam1 param username:{},password:{}", username, password);
	User8043VO user8043VO = new User8043VO(username, password);

	return R.ok().data(user8043VO);
}

2.1.2、Postman中传参 & 响应结果

2.2、接收GET请求方式的传参:第二种方式

2.2.1、核心代码

/**
 * 接收GET请求方式的传参:第二种方式
 *
 * @param username 用户名
 * @param password 密码
 * @return
 */
@GetMapping("/getParam2")
public R getParam2(@RequestParam("username") String username,
				   @RequestParam("password") String password) {
	log.info("GETController getParam2 param username:{},password:{}", username, password);
	User8043VO user8043VO = new User8043VO(username, password);

	return R.ok().data(user8043VO);
}

2.2.2、Postman中传参 & 响应结果

2.3、接收GET请求方式的传参:第三种方式

2.3.1、核心代码

/**
 * 接收GET请求方式的传参:第三种方式
 *
 * @param id 编号
 * @param username 用户名
 * @param password 密码
 * @return
 */
@GetMapping("/getParam3/{id}")
public R getParam3(@PathVariable Long id,
				   @RequestParam("username") String username,
				   @RequestParam("password") String password) {
	log.info("GETController getParam3 param id:{},username:{},password:{}", id, username, password);
	User8043VO user8043VO = new User8043VO(id, username, password);

	return R.ok().data(user8043VO);
}

2.3.2、Postman中传参 & 响应结果

2.4、接收GET请求方式的传参:第四种方式

2.4.1、核心代码

/**
 * 接收GET请求方式的传参:第四种方式
 * @param request
 * @return
 */
@GetMapping("/getParam4")
public R getParam4(HttpServletRequest request) {
	String id = request.getParameter("id");
	String username = request.getParameter("username");
	String password = request.getParameter("password");
	log.info("GETController getParam4 param id:{},username:{},password:{}", id, username, password);

	User8043VO user8043VO = new User8043VO(Long.parseLong(id), username, password);

	return R.ok().data(user8043VO);
}

2.4.2、Postman中传参 & 响应结果

三、POST请求 

3.1、接收POST请求方式的传参:第一种方式

3.1.1、核心代码

/**
 * 接收POST请求方式的传参:第一种方式
 *
 * @param username 用户名
 * @param password 密码
 * @return
 */
@PostMapping("/postParam1/{username}/{password}")
public R postParam1(@PathVariable String username, @PathVariable String password) {
	log.info("POSTController postParam1 param username:{},password:{}", username, password);
	User8043VO user8043VO = new User8043VO(username, password);

	return R.ok().data(user8043VO);
}

3.1.2、Postman中传参 & 响应结果

3.2、接收POST请求方式的传参:第二种方式

3.2.1、核心代码

/**
 * 接收POST请求方式的传参:第二种方式
 *
 * @param username 用户名
 * @param password 密码
 * @return
 */
@PostMapping("/postParam2")
public R postParam2(@RequestParam("username") String username,
					@RequestParam("password") String password) {
	log.info("POSTController postParam2 param username:{},password:{}", username, password);
	User8043VO user8043VO = new User8043VO(username, password);

	return R.ok().data(user8043VO);
}

3.2.2、Postman中传参 & 响应结果

3.3、接收POST请求方式的传参:第三种方式

3.3.1、核心代码

/**
 * 接收POST请求方式的传参:第三种方式
 *
 * @param id 编号
 * @param username 用户名
 * @param password 密码
 * @return
 */
@PostMapping("/postParam3/{id}")
public R postParam3(@PathVariable Long id,
					@RequestParam("username") String username,
					@RequestParam("password") String password) {
	log.info("POSTController postParam3 param id:{}, username:{},password:{}", id, username, password);
	User8043VO user8043VO = new User8043VO(id, username, password);

	return R.ok().data(user8043VO);
}

3.3.2、Postman中传参 & 响应结果

3.4、接收POST请求方式的传参:第四种方式

3.4.1、核心代码

/**
 * 接收POST请求方式的传参:第四种方式
 *
 * @param request
 * @return
 */
@PostMapping("/postParam4")
public R postParam4(HttpServletRequest request) {
	String id = request.getParameter("id");
	String username = request.getParameter("username");
	String password = request.getParameter("password");

	log.info("POSTController postParam4 param id:{}, username:{},password:{}", id, username, password);

	User8043VO user8043VO = new User8043VO(Long.parseLong(id), username, password);

	return R.ok().data(user8043VO);
}

3.4.2、Postman中传参 & 响应结果

3.5、接收POST请求方式的传参:第五种方式

3.5.1、核心代码

/**
 * 接收POST请求方式的传参:第五种方式
 *
 * @param param
 * @return
 */
@PostMapping("/postParam5")
public R postParam5(@RequestBody User8043VO param) {
	log.info("POSTController postParam5 param:{}", JSON.toJSONString(param));

	return R.ok().data(param);
}

3.5.2、Postman中传参 & 响应结果

3.6、接收POST请求方式的传参:第六种方式

3.6.1、核心代码

/**
 * 接收POST请求方式的传参:第六种方式
 *
 * @param param
 * @return
 */
@PostMapping("/postParam6")
public R postParam6(User8043VO param) {
	log.info("POSTController postParam6 param:{}", param);

	return R.ok().data(param);
}

3.6.2、Postman中传参 & 响应结果

上一篇:大型网站系统架构演化实例_1.单体架构和垂直架构-2.第二阶段:垂直架构 


下一篇:Spring Boot 定时任务实现教程