文章目录
@RestController 注解
-
在Spring中@RestController的作用等同于@Controller + @ResponseBody 注解
-
@RestController所有带有此注解的类将被视为控制器(Controller),其中 @RequestMapping方法默认情况下均采用 @ResponseBody语义
-
需要开发一个获取当前日期的接口,该接口将采用“yyyy-MM-dd HH:mm:ss.SSS”格式返回日期
- 需要开发一个获取当前日期的接口,该接口将采用“yyyy-MM-dd HH:mm:ss.SSS”格式返回日期
package com.huangx.springboot.springboot_restcontroller_demo1; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.text.SimpleDateFormat; import java.util.Date; @Controller @RequestMapping("/demo1") public class Demo1Controller { /** * 获取当前日期 * @return */ @RequestMapping("/getDate") @ResponseBody public String getDate() { String pattern = "yyyy-MM-dd HH:mm:ss.SSS"; SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); return dateFormat.format(new Date()); }
- 使用 @Controller 注解将 Demo1Controller 类声明成一个控制器,然后在 getDate() 方法上面添加 @ResponseBody 注解。
- 需要开发一个获取当前日期的接口,该接口将采用“yyyy-MM-dd HH:mm:ss.SSS”格式返回日期
-
@ResponseBody注解的作用是将控制器的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到Response对象的body区,通常用来返回JSON数据或者是XML数据
-
使用@ResponseBody注解之后不会再走视图处理器,而是直接将数据写入到输出流中,
-
@ResponseBody注解的效果等同于通过Response对象输出指定格式的数据。
-
为了获取当前日期,使用 @Controller 和 @ResponseBody 两个注解,并且 @ResponseBody 注解需要添加到每个接口方法上
-
Spring 为了开发便捷,提供了 @RestController 方法
package com.huangx.springboot.springboot_restcontroller_demo1; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.text.SimpleDateFormat; import java.util.Date; @RestController @RequestMapping("/demo2") public class Demo2Controller { /** * 获取当前日期 * @return */ @RequestMapping("/getDate") public String getDate() { String pattern = "yyyy-MM-dd HH:mm:ss.SSS"; SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); return dateFormat.format(new Date()); } } ```