0
点赞
收藏
分享

微信扫一扫

2748. 美丽下标对的数目

三次方 2024-07-24 阅读 25

@RestController

是@ResponseBody和@Controller的耦合,

@Controller表示该类是一个控制器,@ResponseBody表示该控制器的方法返回的对象直接作为HTTP响应的正文,而不是作为一个视图(view)

写在参数列表中的注释

@PathVariable

@GetMapping("/users/{userId}")

  • 用于从URL模板中提取变量。
  • 当你定义了RESTful API时,可以使用它来捕获URL中定义的路径参数。
  • 例如,如果你有一个URL模式/users/{userId},并且请求的URL是/users/123,那么123可以作为userId参数传递给控制器方法。
  • 通常与@RequestMapping@GetMapping@PostMapping等注解一起使用。
@GetMapping("/users/{userId}")
public User getUserById(@PathVariable("userId") int userId) { // 根据userId获取用户信息 }

@RequestParam

  • 用于从请求的查询参数中提取值。
  • 它允许你访问URL的查询字符串部分,例如?name=value
  • 即使请求中没有指定参数,也可以使用required=false属性设置为非必须,或者通过defaultValue属性提供一个默认值。
  • 通常与@RequestMapping@GetMapping@PostMapping等注解一起使用。
@GetMapping("/search") 
public List<User> searchUsers(@RequestParam(value = "name", required = false) String name) { // 根据提供的name参数搜索用户 }

@RequestBody

  • @RequestBody 允许你将客户端发送的请求体(JSON、XML 等格式)自动转换(通过适当的转换器,如 Jackson 或 JAXB)并绑定到一个对象上。
  • 当使用 @RequestBody 时,期望客户端发送的请求有一个非空的请求体。如果请求体为空,Spring 将抛出异常。
  • 用于将 HTTP 请求的正文(body)映射到控制器方法的参数上。
  • 主要用于 POST、PUT 和 PATCH 等请求,这些请求通常需要客户端提交数据以创建或更新资源
@PostMapping("/users")
public ResponseEntity<?> addUser(@RequestBody User user) {
    // 将接收到的User对象保存到数据库
    userService.addUser(user);
    return ResponseEntity.ok().build();
}
举报

相关推荐

0 条评论