在Spring Boot中,如果使用包装类型的路径变量,并且不希望接受空值,可以使用@NonNull
注解来约束该路径变量不能为null。
下面是一个示例代码,演示如何使用@NonNull
注解来解决包装类型的路径变量不接受空值的问题:
import org.springframework.lang.NonNull;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/user/{id}")
public String getUser(@PathVariable @NonNull Long id) {
// 处理获取用户的逻辑
return "User ID: " + id;
}
}
在上面的示例中,getUser
方法接受一个Long
类型的路径变量,并使用@NonNull
注解来确保该路径变量不能为null。如果请求中的路径变量为null,将会抛出IllegalArgumentException
异常,返回400 Bad Request响应。
通过使用@NonNull
注解,我们可以在编写代码时就能够确保路径变量不会接受空值,从而减少潜在的空指针异常风险。
上一篇:包装类设计和依赖注入