10、@Controller跟@RestController注解的使⽤
测试两个注解定义的类中⽅法的返回值:
@Controller:定义⼀个控制器类,
@RestController:注解相当于 @Controller + @ResponseBody 合在⼀起的作⽤。
@ResponseBody:标记Controller类中的⽅法。把return的结果变成JSON对象返回。
(如果没有这个注解,这个⽅法只能返回要跳转的路径即跳转的html/JSP页⾯。有这个注解,可以不跳转页⾯,只返回JSON数据)@RequestMapping:给出外界访问⽅法的路径,或者说触发路径,触发条件。
@Controller注解返回字符串:
我们都知道@Controller注解作⽤在类上⾯,这个类中⽅法的返回值,是⼀个jsp或者其他页⾯的名称,会跳转到指定的页⾯
有的时候并不希望它跳转到⼀个页⾯,⽽是想让它返回json字符串(配合@ResponseBody):
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @author zhangzhixi
springframework作用*/
@Controller
@RequestMapping("/some")
public class SomeController {
@RequestMapping("/demo1")
@ResponseBody
public String test1(){
return "Hello World!";
}
}
浏览器访问:
@RestController注解返回字符串:
@RestController注解也是作⽤到类中,但是它当中⽅法的返回值是JSON类型,所以相当于:@Controller+@ResponseBody
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author zhangzhixi
*/
@RestController
@RequestMapping("/some")
public class SomeController {
@RequestMapping("/demo2")
public String test1(){
return "Hello World!";
}
}
浏览器访问:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论