我正在try 用Java构建REST API,并测试了可选/非必需的@RequestParam
,但我收到了以下警告:
Null type safety: The expression of type 'String' needs unchecked conversion to conform to '@Nonnull String'Java(16778128)
在下面的代码中:
@RestController
@RequestMapping(path = "/api/v0.1/users")
public class UserController {
@Autowired
UserService userService;
@PostMapping()
public ResponseEntity<String> postUser(
UserCreationDTO userData,
@RequestParam(required = false) String ignoreRequest
) {
try{
if (!Strings.isNullOrEmpty(ignoreRequest)) { // <---------------------- HERE BE THE PROBLEM
return new ResponseEntity<String>(ignoreRequest, HttpStatus.OK);
}
return userService.createUser(userData);
}catch (Exception exception) {
exception.printStackTrace();
}
return BackendUtils.getResponseEntity(
BackendConstants.SOMETHING_WRONG,
HttpStatus.INTERNAL_SERVER_ERROR
);
}
谷歌搜索只会抛出人们使用原始列表的问题,这些问题假设元素将是非空的.在这里,我实际上是在try 判断一个变量的"空性",该变量在设计上可能为空.我对此的理解是,Strings.isNullOrEmpty
希望接收保证不为空的输入字符串?我可能没有正确理解这一点,因为这将完全违背方法的目的……