Spring Boot の @PutMapping アノテーションとは何ですか、その原理、および使用方法

Spring Boot の @PutMapping アノテーションとは何ですか、その原理、および使用方法

Spring Boot では、 @PutMapping は、HTTP PUT リクエストを指定された処理メソッドにマップするアノテーションです。この記事では、@PutMapping の原理と Spring Boot での使用方法を紹介します。

ここに画像の説明を挿入

@PutMapping アノテーションの原理

RESTful API では、リソースを更新するために PUT リクエストがよく使用されます。たとえば、PUT リクエストを使用して、ユーザーの情報をサーバーに更新できます。Spring Boot では、 @PutMapping アノテーションを使用して、PUT リクエストを指定された処理メソッドにマッピングできます。

@PutMapping アノテーションは、メソッド、パラメーター、ヘッダー、消費、生成などの @RequestMapping アノテーションの共通構成要素を使用します。また、処理メソッドのリクエスト パスを指定する value 属性もサポートされています。

PUT リクエストがサーバーに到着すると、Spring Boot はリクエスト パスとリクエスト パラメータに従って @PutMapping アノテーションでマークされた処理メソッドと一致します。一致するメソッドが見つかった場合、Spring Boot はこのメソッドを呼び出してリクエストを処理し、結果を返します。

@PutMappingアノテーションの使い方

Spring Boot では、@PutMapping アノテーションの使用は非常に簡単です。@PutMapping アノテーションを処理メソッドに追加するだけです。例えば:

@RestController
@RequestMapping("/users")
public class UserController {
    
    

    @PutMapping("/{id}")
    public ResponseEntity<User> updateUser(@PathVariable Long id, @RequestBody User user) {
    
    
        // Update the user with the given ID
        return ResponseEntity.ok(user);
    }

}

上記のコードでは、UserController というクラスを作成し、それに @RestController および @RequestMapping アノテーションを追加しました。このクラスに updateUser という処理メソッドを定義し、 @PutMapping アノテーションを追加します。このメソッドは 2 つのパラメーターを受け入れます。1 つは更新されるユーザー ID を表す Long 型の id、もう 1 つは更新されるユーザー情報を表す User 型の user です。

updateUser メソッドでは、ID とユーザーに従ってユーザー情報を更新し、更新されたユーザー情報を返すことができます。この例では、更新されたユーザー情報を単純に返し、ResponseEntity.ok() メソッドを使用してそれを HTTP 応答にパッケージ化してクライアントに返します。

@PutMapping アノテーションは、value 属性に加えて、consums や generated などの他の属性もサポートしています。これらのプロパティを使用すると、リクエストのメディア タイプと応答のメディア タイプをより詳細に制御できます。例えば:

@RestController
@RequestMapping("/users")
public class UserController {
    
    

    @PutMapping(
      value = "/{id}",
      consumes = MediaType.APPLICATION_JSON_VALUE,
      produces = MediaType.APPLICATION_JSON_VALUE
    )
    public ResponseEntity<User> updateUser(@PathVariable Long id, @RequestBody User user) {
    
    
        // Update the user with the given ID
        return ResponseEntity.ok(user);
    }

}

上記のコードでは、@PutMapping アノテーションで更新するユーザー ID を指定し、consums 属性を使用して要求されたメディア タイプを JSON として指定し、products 属性を使用して応答メディア タイプを JSON として指定します。

要約する

この記事では、Spring Boot の @PutMapping アノテーションを紹介しました。HTTP PUT リクエストを指定された処理メソッドにマッピングできます。@PutMapping アノテーションがどのように機能するか、および Spring Boot でそれを使用する方法についても説明しました。

@PutMapping アノテーションを使用すると、PUT リクエストをより便利に処理し、手動構成の作業負荷を軽減できます。もちろん、 @PutMapping アノテーションを使用するときは、いくつかの詳細に注意する必要があります。たとえば、一致の失敗を避けるために、リクエスト パスのパラメータ タイプ、リクエスト パラメータ、および処理メソッドが正しいことを確認してください。同時に、消費属性と生成属性を使用する場合は、実際の状況に応じて調整および最適化する必要もあります。

最後に、Spring Boot の他のアノテーションや機能について詳しく知りたい場合は、公式ドキュメントやその他の関連資料を参照すると、Spring Boot をより深く理解し、適用するのに役立ちます。完全なコード例は次のとおりです。

@RestController
@RequestMapping("/users")
public class UserController {
    
    

    @PutMapping(
      value = "/{id}",
      consumes = MediaType.APPLICATION_JSON_VALUE,
      produces =MediaType.APPLICATION_JSON_VALUE
    )
    public ResponseEntity<User> updateUser(@PathVariable Long id, @RequestBody User user) {
    
    
        // Update the user with the given ID
        return ResponseEntity.ok(user);
    }

}

おすすめ

転載: blog.csdn.net/2302_77835532/article/details/131411858