首页 > 其他分享 >@RestController

@RestController

时间:2024-05-02 09:33:37浏览次数:23  
标签:RestController RequestMapping JSON 注解 id 请求

@RestController是一个组合注解,它包含了@Controller和@ResponseBody两个注解的功能。

用@RestController标记的类表示这是一个RESTful风格的控制器,它可以处理HTTP请求并返回JSON格式的响应。 @RestController注解在处理请求时,会自动将方法的返回值转换为JSON格式的响应体,并返回给客户端。

因此,使用@RestController可以省去在每个方法上都加@ResponseBody注解的麻烦。

@RestController也支持@RequestMapping注解,用于映射请求。

例如,可以在@RestController中定义一个处理GET请求的方法,并使用@RequestMapping注解指定请求的URL和请求方法,如下所示:

@RestController
@RequestMapping("/user")
public class UserController {
    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        // 根据id查询用户信息
        User user = userService.getUserById(id);
        return user;
    }
}

上述代码中,@GetMapping注解表示该方法处理GET请求,{@code /{id}}表示URL中的参数,@PathVariable注解用于获取参数值。方法的返回值会自动转换为JSON格式的响应体,返回给客户端。 需要注意的是,使用@RestController时需要确保Spring的Jackson或Gson库已经正确配置,否则无法将Java对象转换为JSON格式的响应

是一个组合注解,它包含了@Controller和@ResponseBody两个注解的功能。

用@RestController标记的类表示这是一个RESTful风格的控制器,它可以处理HTTP请求并返回JSON格式的响应。 @RestController注解在处理请求时,会自动将方法的返回值转换为JSON格式的响应体,并返回给客户端。

因此,使用@RestController可以省去在每个方法上都加@ResponseBody注解的麻烦。

@RestController也支持@RequestMapping注解,用于映射请求。

例如,可以在@RestController中定义一个处理GET请求的方法,并使用@RequestMapping注解指定请求的URL和请求方法,如下所示:

@RestController
@RequestMapping("/user")
public class UserController {
    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        // 根据id查询用户信息
        User user = userService.getUserById(id);
        return user;
    }
}

上述代码中,@GetMapping注解表示该方法处理GET请求,{@code /{id}}表示URL中的参数,@PathVariable注解用于获取参数值。方法的返回值会自动转换为JSON格式的响应体,返回给客户端。 需要注意的是,使用@RestController时需要确保Spring的Jackson或Gson库已经正确配置,否则无法将Java对象转换为JSON格式的响应

标签:RestController,RequestMapping,JSON,注解,id,请求
From: https://www.cnblogs.com/zhoading/p/18169946

相关文章

  • 全局异常捕获(@RestControllerAdvice)介绍和使用
    @RestControllerAdvice是什么@RestControllerAdvice是Spring框架提供的一个注解,用于定义全局异常处理器和全局数据绑定设置。它结合了@ControllerAdvice和@ResponseBody两个注解的功能。@ControllerAdvice@ControllerAdvice是一个用于定义全局控制器增强(即全局异常处理和......
  • @RestController
    @RestController是SpringFramework中的一个注解,主要用于标识一个类是RESTful服务的控制器(Controller)。在SpringMVC中,通常使用@Controller注解来定义控制器类,而@RestController是@Controller的一个特殊版本,它结合了@Controller和@ResponseBody注解的功能。具体......
  • RestController:Spring Framework 中用于创建 RESTful Web 服务的注解
    RestController 是SpringFramework中用于创建RESTfulWeb服务的注解。它简化了构建RESTfulWeb服务的过程,使得开发者能够更专注于业务逻辑的实现,而不是底层的HTTP请求和响应处理。一、RestController的基本概念RestController 是SpringWeb模块中的一个核心注......
  • 多个@RestControllerAdvice全局异常捕获器的顺序问题
    影响一多个捕获器按照加载顺序执行,可以通过@Order注解控制加载顺序,值越小的越先加载,如@Order(Ordered.HIGHEST_PRECEDENCE)最先执行。同时可以在捕获器中加入静态代码块打印日志判断加载顺序,如:static{log.info("GlobalExceptionHandlerclasshasbeenloaded.");......
  • @RestController和@Controller注解
     @RestController和@Controller是Spring框架中用于定义控制器的两个注解; @RestConteroller注解:@RestController是@Controller的特殊形式,是用于创建RESTfulWeb服务的控制器类,而非传统的Web形式;控制器方法使用@RequstMapping或其他衍生注解来映射url路径,这些数据返回......
  • 【SpringBoot】当AOP引发的异常与@RestControllerAdvice擦肩而过:异常处理的盲点揭秘
    各位上午/下午/晚上好呀!今天在写bug的时候发现一个这样的问题:AOP抛出的异常竟然没有被@RestControllerAdvice注解修饰的异常统一处理类处理。 需求是这样子滴:对某些加了自定义注解的方法进行切面处理,通过条件判断是否有权限执行该方法。伪代码大概长这个样子:@Around(......
  • @RestControllerAdvice定义返回格式
    原文链接:如何优雅的写Controller层代码?一、拦截异常,封装返回值@RestControllerAdvicepublicclassControllerExceptionAdvice{@ExceptionHandler({BindException.class})publicResultVoMethodArgumentNotValidExceptionHandler(BindExceptione){/......
  • springMVC的常见注解,以及注解的作用。@Controller,@RestController,@RequestMapping,@
    目录注:使用注解,必须要开启注解包扫描1.@Controller2.@RequestMapping3.@PathVariable4.@RequestParam5.@RequestHeader6.@CookieValue7.@RequestBody该注解的作用8.@ResponseBody9.@RestController注:使用注解,必须要开启注解包扫描在MVC核心配置中开启注解包扫描<!--  配置包......
  • Spring Boot学习随笔- RestFul API(@RestController、@RequestBody、@PathVariable),使用
    学习视频:【编程不良人】2021年SpringBoot最新最全教程第十六章、RestFulAPI什么是RESTREST全称是ResourceRepresentationalStateTransfer,中文意思是表述性状态转移,它首次出现在2000年RoyFielding的博士论文中,RoyFielding是HTTP规范的主要编写者之一。他在论文中表......
  • Springcloud学习笔记58--SpringBoot拦截全局异常统一处理(RestControllerAdvice注解)
    1. 应用场景如果和前端约定好使用固定的自定义格式返回参数,如下:{"code":200,"msg":"操作成功","data":{"equipment":55,"code":99,"point":2}}但在运行时发现了异常,默认的异常返回格式如下:......