Partage de technologie

Annotations communes de SpringBoot

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

@RestController

C'est le couplage de @ResponseBody et @Controller,

@Controller indique que la classe est un contrôleur et @ResponseBody indique que l'objet renvoyé par la méthode du contrôleur est directement utilisé comme corps de la réponse HTTP, plutôt que comme vue.

Commentaires écrits dans les listes de paramètres

@PathVariable

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

  • Utilisé pour extraire des variables à partir de modèles d'URL.
  • Lorsque vous définissez une API RESTful, vous pouvez l'utiliser pour capturer les paramètres de chemin définis dans l'URL.
  • Par exemple, si vous avez un modèle d'URL/users/{userId}, et l'URL demandée est/users/123,Donc123peut être utilisé commeuserIdParamètres transmis aux méthodes du contrôleur.
  • généralement avec@RequestMappingou@GetMapping@PostMappingUtilisez-le avec d'autres annotations.
  1. @GetMapping("/users/{userId}")
  2. public User getUserById(@PathVariable("userId") int userId) { // 根据userId获取用户信息 }

@RequestParam

  • Utilisé pour extraire les valeurs des paramètres de requête de la requête.
  • Il vous permet d'accéder à la partie chaîne de requête de l'URL, par ex.?name=value
  • Peut être utilisé même si aucun paramètre n'est spécifié dans la requêterequired=falseLa propriété est définie sur facultative, ou pardefaultValueLa propriété fournit une valeur par défaut.
  • généralement avec@RequestMappingou@GetMapping@PostMappingUtilisez-le avec d'autres annotations.
  1. @GetMapping("/search")
  2. public List<User> searchUsers(@RequestParam(value = "name", required = false) String name) { // 根据提供的name参数搜索用户 }

@RequestBody

  • @RequestBodyPermet de convertir automatiquement le corps de la requête (JSON, XML, etc.) envoyé par le client (via un convertisseur approprié, tel que Jackson ou JAXB) et de le lier à un objet.
  • lors de l'utilisation@RequestBody Lorsque , la requête envoyée par le client est censée avoir un corps de requête non vide. Si le corps de la requête est vide, Spring lèvera une exception.
  • Utilisé pour mapper le corps de la requête HTTP aux paramètres de la méthode du contrôleur.
  • Principalement utilisé pour les requêtes telles que POST, PUT et PATCH, qui nécessitent généralement que le client soumette des données pour créer ou mettre à jour des ressources
  1. @PostMapping("/users")
  2. public ResponseEntity<?> addUser(@RequestBody User user) {
  3. // 将接收到的User对象保存到数据库
  4. userService.addUser(user);
  5. return ResponseEntity.ok().build();
  6. }