spring 部分常用注解
来源:互联网 发布:已有备案网站增加域名 编辑:程序博客网 时间:2024/06/09 22:53
1. @RestController 和@Controller
控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后,返回给前台页面
@Controller 的作用 :声明这是一个controller类,然后使用@RequestMapping ,@ResponseBody等一些注解用以定义URL 请求和Controller 方法之间的映射,使Controller 被前端访问。
@Controllerpublic class AnnotController { @ResponseBody @RequestMapping("/hello") public String hello() { return "Hello huhy"; }}
@RestController : 从spring4.0版本开始出现.看下图的官方解释,会发现,@RestController 其实已经包含了@Controller 和@ResponseBody ,会默认使用@ResponseBody(可以参考spring boot语法)
@RestControllerpublic class AnnotController{
@RequestMapping("/hello")
public String hello() {
return "Hello huhy";
}
}
注意 : 其中@ResponseBody会处理返回的数据格式,使用了该类型注解后返回的不再是视图,不会进行转跳,而是返回json或xml数据格式,输出在页面上。
如果在类上使用@Controller注解, 可以在需要的方法上单独添加@ResponseBody ,而使用@RestController相当于在所有的方法上都默认使用了@ResponseBody注解
2. @RequestParam(?传值) @RequestBody(指定返回的结果以json或者xml形式) @PathVariable(地址栏传参,常见的是restful风格) 常用参数绑定注解
①@PathVariable 直接通过URL传参时使用,URL形式:http://localhost:port/path/参数
@RestController@RequestMapping("demoAnnot")public class testController { @RequestMapping(value = "/hello/{name}/{age}", method = RequestMethod.GET) public String hello(@PathVariable("name") String name,@PathVariable("age") int myAge) { return "我是" + name +"年龄 " + myAge; }}
注意: 通过@PathVariable("***")的形式可以获取指定URL中的参数,此时可以修改变量的名字,如上面的age参数, 如果不需要修改参数名则可以按照URL中参数的顺序写成如下形式
public String hello(@PathVariable String name,@PathVariable int age)
如果是类上面的@RequestMapping("demoAnno") 也添加一个参数,和方法上的获取使用是一样的
②@RequestParam也是通过把参数绑定到URL中,但是和@PathVariable有不同,形式为http://localhost:port/path?参数名=参数
@RestController@RequestMapping("demoAnno")public class testController { @RequestMapping(value = "/hello", method = RequestMethod.GET) public String hello(@RequestParam(value = "name", required = false, defaultValue = "null") String name) { return "我是" + name ; }}
访问URL为:http:/localhost:9999/demo/hello?name=tom
注意:@RequestParam中required是"是否必填", "false" 可以不带此参数, "defaultValue" 可以赋一个默认值.如果选择required = false ,URL中不带name=tom参数,不会报错. 如果写成@RequestParam(value = "name") 这样的形式,则不带name=tom参数就会报错.
③@RequestBody可以将请求体中的JSON字符串绑定到相应的bean上,也可以将其分别绑定到对应的字符串上。
@RestController@RequestMapping("demoAnno")public class testController { @RequestMapping(value = "/hello", method = RequestMethod.POST) public String hello(@RequestBody RequestOrderVo requestOrderVo) { return "我是" + requestOrderVo.getName +"年龄 "+requestOrderVo.getAge; }}
阅读全文
0 0
- spring 部分常用注解
- spring MVC 部分注解
- Spring 部分注解详解
- spring的部分注解
- Spring部分注解记录
- spring部分注解
- 【spring ----- 注解篇】 常用注解
- spring注解的部分解释
- spring常用注解
- Spring IOC 常用注解
- Spring常用注解方式
- Spring常用注解
- spring常用注解
- spring 常用注解集合
- Spring IOC 常用注解
- spring常用注解
- Spring常用注解
- Spring IoC常用注解
- Git 常用命令
- git pull文件时和本地文件冲突的问题
- 自制OSPF配置实验大全
- 算法面试100题——4.在二元树中找出和为某一值的所有路径
- 【★】交换层网关协议大总结!
- spring 部分常用注解
- 视频质量算法有几种的介绍,视频质量技术及编码
- 分享《组播技术白皮书》
- 对字符串中的中英文进行统计
- nginx负载均衡
- MPLS LDP随堂笔记2
- mac安装Redis可视化工具-Redis Desktop Manager
- 什么是堆栈?
- maven的配置文件解析