SpringBootでは空値はどのように処理されますか?
Spring Bootでは、@RequestParamアノテーションを使用してnull値を処理できます。@RequestParamアノテーションは、リクエストパラメータから値を取得してメソッドのパラメータにバインドするために使用されます。リクエストパラメータがnullの場合、requiredパラメータをfalseに設定してnull値を処理できます。デフォルトでは、trueに設定され、必須パラメータを示しています。以下に例を示します。
@RestController
public class MyController {
@GetMapping("/api/myEndpoint")
public ResponseEntity<String> myEndpoint(@RequestParam(value = "myParam", required = false) String myParam) {
if (myParam == null) {
// 处理空值的逻辑
return ResponseEntity.badRequest().body("Parameter cannot be empty");
}
// 处理非空值的逻辑
return ResponseEntity.ok("Received value: " + myParam);
}
}
上記サンプルでは、リクエストパラメータのmyParamが空の場合は、エラーメッセージを返して400 Bad Requestで応答を返します。リクエストパラメータが空ではない場合は、受信した値を返して200 OKで応答を返します。
さらに、@RequestParamアノテーションのdefaultValueパラメーターを利用することで、要求パラメーターが空の時にデフォルト値を設定して処理を行うことができます。例えば以下:
@GetMapping("/api/myEndpoint")
public ResponseEntity<String> myEndpoint(@RequestParam(value = "myParam", defaultValue = "default") String myParam) {
// 处理逻辑
}
上記の例の場合、リクエストのパラメータmyParamが空だった場合は、デフォルト値defaultで処理されます。