SpringBoot Controller 控制层常见注解及含义

您所在的位置:网站首页 伊可新有补钙的作用吗 SpringBoot Controller 控制层常见注解及含义

SpringBoot Controller 控制层常见注解及含义

2024-06-13 03:07| 来源: 网络整理| 查看: 265

@Controller:

作用:标注于任意一个类上,声明该类属于Controller。通常该注解会与@ResponseBody,@RequestBody等注解搭配使用。

示例:

@Controller @RequestMapping("/test") public class MainController{ @RequestMapping("/home") public String home(){ return "This is test information."; } } @RestController:

作用:标注于任意一个类上,声明该类属于Controller。与@Controller不同的是,@RestController可以返回JSON内容,而单独@Controller则不可以。@RestController无法跳转页面。

示例:

@RestController @RequestMapping("/test") public class MainController{ @Resource private SearchService searchService; @RequestMapping("/home.json") public List home(){ List list = searchService.findAll() return list; } }

说明:当客户端访问/test/home.json时,会返回一个JSON对象。

@RequestMapping:

作用:映射HTTP请求到某个具体方法。参数内容如下:

value:请求的URL;method:HTTP请求方式,可选值有RequestMethod.GET,RequestMethod.POST等;consumes:媒体类型,可选值有"application/json"等;produces:相应的媒体类型,可选值有"application/json"等;params:请求的参数;headers:请求的HTTP头的值。

示例:

@Controller @RequestMapping("/test") public class MainController{ @RequestMapping("value=“/home”,method="RequestMethod.POST",params="name="jack"") public String home(){ return "This is test information." + name; } }

说明:这里映射一个访问路径为"/test/home",当客户端使用POST请求访问该路径时,会调用home()该方法。

@ResponseBody:

作用:标注某个被访问的方法返回类型前,该方法将会返回JSON类型而不是String或其它类型。需要注意的是,访问路径结尾必须是以.json结尾,否则可能报错。

示例:

@Controller @RequestMapping("/test") public class MainController{ @RequestMapping("/home") public @ResponseBody String home(){ return "This is test information."; } }

说明:这里在home()方法的返回类型String前面加上该注解,会将内容使用Jackson序列化成JSON字符串进行输出。

@RequestBody:

作用:将json格式的数据转为java对象。

示例:

@Controller @RequestMapping("/test") public class MainController{ @RequestMapping("/home") public String home(@RequestBody User user){ return user.toString(); } } @PathVariable:

作用:将URL中的值映射到方法参数中。在@RequestMapping或其它的括号内使用{}来获取变量,在被调用的方法参数类型前使用该注解。

示例:

@Controller @RequestMapping("/test") public class MainController{ @RequestMapping("/home/{name}/{age}") public @ResponseBody String home(@PathVariable String name, @PathVariable int name){ return "The name is: " + name + " and age is: " + age; } } @GetMapping:

作用:标注于某个方法上,声明该类被访问的方式为Get类型。

示例:

@Controller @RequestMapping("/test") public class MainController{ @GetMapping("value="/home"") public String home(){ return "This is test information."; } }

说明:当客户端以Get请求访问/test/home时,会访问home()方法。

@PostMapping:

作用:标注于某个方法上,声明该类被访问的方式为Post类型。

示例:

@Controller @RequestMapping("/test") public class MainController{ @PostMapping("value="/home"") public String home(){ return "This is test information."; } }

说明:当客户端以Post请求访问/test/home时,会访问home()方法。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3