根据你提供的代码片段,尽管在@Length
注解中设置了图片数量应为2张,但是该注解仅仅用于对字符串长度的验证,并不会直接限制上传文件的数量。因此,在使用这个接口时,客户端仍然可以只上传1张图片。
如果你希望确保必须上传2张图片,可以在方法内部进行手动判断并作出相应的处理。例如:
public HobbyResponse<List<String>> upload(@Valid @Length(min = 2, max = 2, message = "图片数量应为2张") @RequestParam("photos") List<MultipartFile> photos,
@RequestParam("talentId") Integer talentId) {
if (photos.size() != 2) {
return HobbyResponse.failure("请上传2张图片");
}
// 执行上传逻辑
return HobbyResponse.success(talentDocumentInfoService.upload(photos,talentId));
}
通过手动检查photos
列表的大小,如果不等于2,则返回错误信息。这样可以确保只有上传了正确数量的图片才能继续执行后续逻辑。
内容由零声教学AI助手提供,问题来源于学员提问