Spring の @PathVariable アノテーション

機能: URL パスからパラメータ値を抽出し、メソッドのパラメータにバインドするために使用されます。クライアントが HTTP リクエストを送信するとき、URL にはパラメータを渡すために使用されるいくつかのプレースホルダー (PathVariable) が含まれる場合があります。これらのパラメーター値は、アノテーションを使用して抽出し@PathVariable、メソッドで処理できます。


使用手順:

  1. コントローラーの処理メソッドでは、@PathVariableアノテーションを使用してメソッドのパラメーターでプレースホルダーの名前を宣言し、バインドされるパラメーターを指定します。

  2. クライアントが HTTP リクエストを送信すると、対応するパラメータ値が含まれており、Spring フレームワークはこれらのパラメータ値を自動的に抽出し、処理メソッドのパラメータに渡します。

例: 次の URL を想定します。/users/{id}

@Controller
public class UserController {

    @GetMapping("/users/{id}")
    public ResponseEntity<User> getUserById(@PathVariable Long id) {
        // 在此处通过id参数查询数据库获取对应的User对象
        // 然后返回User对象
        User user = userRepository.getUserById(id);
        if (user != null) {
            return ResponseEntity.ok(user);
        } else {
            return ResponseEntity.notFound().build();
        }
    }
}

この例では、パラメータは@PathVariable Long idURL パスから抽出され、メソッドのパラメータidにバインドされますこの時点で、クライアントがリクエストを送信すると、Spring はそれを抽出し、パラメータとしてメソッドに渡します。getUserByIdid/users/123123idgetUserById


注:@PathVariableパラメータ値を正しくバインドするには、アノテーションのパラメータ名が URL 内のプレースホルダ名と一致している必要があります。名前が一致しない場合は、@PathVariable("customId")を使用してプレースホルダーの名前を明示的に指定できます。

おすすめ

転載: blog.csdn.net/LuoluoluoluoYan/article/details/132033036