springboot注解

@ResponseBody注解作用和原理

  • @responsebody这个注解表示你的返回值将存在responsebody中返回到前端,也就是将方法中的return返回值作为请求返回值,return的数据不会解析成返回跳转路径,将java对象转为json格式的数据,前端接收后会显示将数据到页面,如果不加的话 返回值将会作为url的一部分,页面会跳转到这个url,也就是跳转到你返回的这个路径。

  • @ResponseBody这个注解通常使用在控制层(controller)的方法上,其作用是将方法的返回值以特定的格式写入到response的body区域,进而将数据返回给客户端。当方法上面没有写ResponseBody,底层会将方法的返回值封装为ModelAndView对象。

  • @ResponseBody这个注解使用情景:当返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用,常用在ajax异步请求中,可以通过 ajax 的“success”:fucntion(data){} data直接获取到。

  • @ResponseBody这个注解一般是作用在方法上的,加上该注解表示该方法的返回结果直接写到Http response Body中,在RequestMapping(“/xx”)中 return返回值默认解析为跳转路径/xx,如果你此时想让Controller返回一个字符串或者对象到前台。

  • @ResponseBody一般与@Controller连用,因此也可以使用@RestController,@RestController是Spring MVC框架中的一个注解,它结合了@Controller和@ResponseBody两个注解的功能,用于标记一个类或者方法,表示该类或方法用于处理HTTP请求,并将响应的结果直接返回给客户端,而不需要进行视图渲染。

举个例子:


@RestController
@RequestMapping("/hello")
public class HelloController {

   @GetMapping("/h")
   public String sayHello() {
       return "Hello World!";
   }
   @GetMapping("/a")
   public String sayHello1() {
       return "Hello!";
   }
}

在上面的示例中,使用@RestController注解声明了一个名为HelloController的类,并使用@RequestMapping注解标记了类级别的请求路径为”/hello”。接着,在方法sayHello()上使用@GetMapping注解,定义了一个GET请求的URL路径,该请求路径用于处理客户端发起的GET请求,并将响应的结果直接返回给客户端。

如果要访问方法sayHello()或者方法sayHello1(),要在当前路径上再加上"/a"或者"/h",这样才能调用这些方法。返回的这些字符串会被Spring MVC框架自动转换成JSON格式,并通过HTTP响应返回给客户端。补充一下,@GetMapping注解用于处理HTTP GET请求,并将请求映射到具体的处理方法中。具体来说,@GetMapping也是一个组合注解,它相当于是@RequestMapping(method=RequestMethod.GET)的快捷方式。

需要注意的是,使用@RestController注解时,方法返回值默认会被转换成JSON格式,并通过HTTP响应返回给客户端。如果需要返回其他格式的数据,可以使用其他注解,比如@ResponseBody注解或者使用特定的视图解析器来渲染视图。

原文地址:
原文地址

  • 27
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值