SpringBootでHTTP HEADリクエストを処理する方法

Spring Bootでは、@RequestMappingを使用するとデフォルトでGETとHEADリクエストが同じメソッドで処理されます。これは通常便利ですが、HEADリクエストで特定の処理をスキップしたい場合には問題となることがあります。

あるエンドポイントに対して、GETリクエストは通常通り処理を行い、HEADリクエストの場合はボディを返さずに特定の処理をスキップしたいとします。しかし、Spring BootではGETとHEADリクエストが同じメソッドで処理されるため、HEADリクエストに対してもGETリクエストと同様の処理が行われてしまいます。

広告

先に解決策

RequestMappingに method = RequestMethod.HEADを指定する

HEADリクエストとGETリクエストを別々のメソッドで処理することで、対応できます。

じゃあねー。