Rest也叫做范文资源的形式,书写简化,隐藏访问真实目的。无法通过地址知道目的
Restful风格的请求是使用“url+请求方式”表示一次请求目的的,HTTP 协议里面四个表示操作方式的动词如下:
请求方式 | 请求目的 |
---|---|
GET | 用于获取资源 |
POST | 用于新建资源 |
PUT | 用于更新资源 |
DELETE | 用于删除资源 |
例如:
* /users/1 GET : 得到 id = 1 的 user
* /users/1 DELETE: 删除 id = 1 的 user
* /users/1 PUT: 更新 id = 1 的 user
* /users POST: 新增 user
@RequestMapping(value = "/users/{id}", method = RequestMethod.GET)
@ResponseBody
public String findById(@PathVariable Integer id){
System.out.println("findById running......" + id);
return "findById";
}
@RestController
public class UserController{
}
@RestController
@RequestMapping("/users")
public class UserController {
@GetMapping("/{id}")
public String findById(@PathVariable Integer id){
System.out.println("findById running......" + id);
return "findById";
}
}
@Controller
public class RestFulController {
@RequestMapping(value = "/add/{a}/{b}")
public String test1(@PathVariable int a,@PathVariable int b, Model model){
int res = a + b;
model.addAttribute("msg","结果为:"+ res);
return "test";
}
}
//我们使用浏览器地址栏进行访问默认是Get请求,如果报错405: 改回Get就好了。这里还是post
@RequestMapping(value = "add",method = RequestMethod.POST)
public String test2(Model model){
model.addAttribute("msg","Hello!");
return "test";
}
所有的地址栏请求默认都会是 HTTP GET 类型的。
方法级别的注解变体有如下几个:组合注解
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping
@GetMapping 是一个组合注解,平时使用的会比较多!
它所扮演的是 @RequestMapping(method =RequestMethod.GET) 的一个快捷方式。
//只要实现类Controller接口的类,,说明这就是哟个控制器了
public class ControllerText1 implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
ModelAndView mv = new ModelAndView();
mv.addObject("msg","ControllerText01");
mv.setViewName("test");
return mv;
}
}
java.sql.Date 是 java.util.Date 的子类,是一个包装了毫秒值的瘦包装器,允许JDBC将毫秒值标识为 SQL DATE值。
java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分,格式是”yyyy-、MM-dd”.
java.util.Date是在除了SQL语句的情况下面使用的.
# 构建Date时间对象,构建SimpleDateFormat对象,使用SimpleDateFormat对象格式化时间。
Date date = new java.util.Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
String nowDate = format.format(date.getTime());
<dependency>
<groupId>org.slf4jgroupId>
<artifactId>slf4j-log4j12artifactId>
<version>1.7.25version>
dependency>
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<version>1.18.22version>
dependency>
@Slf4j
@RestController
@RequestMapping("/book")
public class BookControler {
@GetMapping
public String getTime(){
log.info("开始使用BookController类中的getTime方法");
Date date=new Date();
SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
String nowDate = format1.format(date.getTime());
return nowDate;
}
}
@RequestMapping("/test2")
@ResponseBody
public String fun2(@RequestParam(value = "str1",defaultValue = "hello") String str1){
// 定义一个任务
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
System.out.println("打印当前时间:" + new Date());
}
};
// 计时器
Timer timer = new Timer();
// 开始执行任务 (延迟1000毫秒执行,每3000毫秒执行一次)
timer.schedule(timerTask, 1000, 3000);
return "定时任务已触发";
}
Date date=new Date();
//Date时间
System.out.println(date);
//getTime
System.out.println(date.getTime());
//规范化
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
//Date -> String
System.out.println(simpleDateFormat.format(date));
//String -> Date (String必须符合simpleDateFormat的格式)
System.out.println(simpleDateFormat.parse("1111年11月11日 11时11分11秒").toString());
---------------------------------
Mon Nov 28 14:41:30 CST 2022
1669617690850
2022年11月28日 14时41分30秒
Sat Nov 11 11:11:11 CST 1111
看之前的笔记
https://blog.csdn.net/qq_44627608/article/details/109214221
其他大佬笔记
https://blog.csdn.net/chuojiandi3387/article/details/100979365
https://blog.csdn.net/cold___play/article/details/124525519
https://blog.csdn.net/yueyue763184/article/details/127761071