SpringBoot入门(三)Controller的使用
浅析
@Controller:处理http请求
@RestController:Spring4之后新加的注解,用于代替原来@ResponseBody aaa@qq.com的组合
@RequestMapping:配置url映射(用户通过访问某个url访问到我们某个方法)
@Controller
原来的代码
@RestController
public class HelloController {
@Autowired
private PersonProperties mPersonProperties;
@RequestMapping(value="/helloctrl", method=RequestMethod.GET)
public String say() {
return "name:"+mPersonProperties.getName()+"age:"+mPersonProperties.getAge();
}
}
使用@Controller(仅为了解。因为后面一般还是使用@RestController)
1、pom.xml中添加spring官方模板
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2、在src/main/resources/template文件夹下创建index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"></meta>
<title>Insert title here</title>
</head>
<body>
Hello Controller
</body>
</html>
3、修改@RestController为@Controller,修改返回值为index
@Controller
public class HelloController {
@Autowired
private PersonProperties mPersonProperties;
@RequestMapping(value="/helloctrl", method=RequestMethod.GET)
public String say() {
return "name:"+mPersonProperties.getName()+"age:"+mPersonProperties.getAge();
}
}
4、运行结果
@aaa@qq.comaaa@qq.com组合
@Controller
@ResponseBody
public class HelloController {
@Autowired
private PersonProperties mPersonProperties;
@RequestMapping(value="/helloctrl", method=RequestMethod.GET)
public String say() {
return mPersonProperties.getName();
}
}
@RequstMapping配置url
访问路径可以是
http://localhost:8088/controller/helloctrl
或者
http://localhost:8088/controller/hi
如何处理url中的参数
@PathVariable:获取url中的数据
@RequestParam:获取请求参数的值
@GetMapping:组合注解(简化@RequestMapping(value= {“/helloctrl”}, method=RequestMethod.GET)aaa@qq.com(value= {“/helloctrl”}))
@PathVariable
@RestController
@RequestMapping("/controller")
public class HelloController {
@Autowired
private PersonProperties mPersonProperties;
@RequestMapping(value= {"/helloctrl/{id}"}, method=RequestMethod.GET)
public String say(@PathVariable("id") Integer id) {
return "id"+id;
}
}
还可以如下写:
@RequestMapping(value= {"/{id}/helloctrl"}, method=RequestMethod.GET)
访问地址
http://localhost:8088/controller/100/helloctrl
设置默认值
@RestController
@RequestMapping("/controller")
public class HelloController {
@Autowired
private PersonProperties mPersonProperties;
@RequestMapping(value= {"/helloctrl"}, method=RequestMethod.GET)
//required是否一定要传递值,设置为false,不需要
public String say(@RequestParam(value="id",required=false,defaultValue="10") Integer myid) {
return "id"+myid;
}
}
@GetMapping
@RestController
@RequestMapping("/controller")
public class HelloController {
@Autowired
private PersonProperties mPersonProperties;
@GetMapping(value="/helloctrl")
public String say(@RequestParam(value="id",required=false,defaultValue="20") Integer myid) {
return "id"+myid;
}
}
与@GetMapping相对应的还有@PostMapping、@PutMapping、@DeleteMapping
上一篇: Android:MediaPlayter——音乐播放器
下一篇: Android音乐播放器-热门榜单
推荐阅读
-
JavaScript使用三种方法定义函数的实现代码分析
-
比较全的PHP 会话(session 时间设定)使用入门代码
-
idea创建一个入门Spring Boot项目(controller层)使用Moven代码管理
-
使用springboot实现文件下载时文件名中的中文变成下划线
-
在子类中怎么使用父类中定义的第三方的类方法呢
-
(转)java Springboot富文本编辑器ueditor的内容使用itext5导出为pdf文件
-
Java使用三种方法实现高并发锁的示例代码
-
Android 入门第十讲02-广播(广播概述,使用方法(系统广播,自定义广播,两个activity之间的交互和传值),EventBus使用方法,数据传递,线程切换,Android的系统广播大全)
-
Access入门教程 2.4 数据库窗口的使用
-
还在为小三角形切图?使用纯CSS写一个简单的三角形_html/css_WEB-ITnose