@ResponseBody@RequestBody注解

@ResponseBody

@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区。@responseBody注解同样可以加载类上。GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。

@RequestMapping("/login")
@ResponseBody
public User login(User user){
  return user;
}
User字段:userName pwd
那么在前台接收到的数据为:'{"userName":"xxx","pwd":"xxx"}'

效果等同于如下代码:
@RequestMapping("/login")
public void login(User user, HttpServletResponse response){
  response.getWriter.write(JSONObject.fromObject(user).toString());
}

@RestController注解是@Controller和@ResponseBody注解的结合

@RestController
public class MayController {

	@RequestMapping("/test")
	public String test() {
		return "hello world";

	}
}

@RequestBody

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的

@RestController
public class MayController {

	@RequestMapping("/test")
	public String test(@RequestBody UserDTO userDTO) {
		return "hello "+userDTO.getName();

	}
}

User字段:name age
那么在前台请求的数据为:'{"name":"xxx","age":"xxx"}'

如果请求参数是String类型

@RequestMapping("/login")
@ResponseBody
public User login(String name){
  return name;
}
请求数据为 name
发布了188 篇原创文章 · 获赞 20 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_36154832/article/details/103660921