В моем текущем проекте я часто использую массовые запросы. У меня есть простой BulkRequest<T>
класс:Как проверить общий компонент в службе REST?
import java.util.List;
import javax.validation.constraints.NotNull;
public class BulkRequest<T> {
@NotNull private List<T> requests;
public List<T> getRequests() { return this.requests; }
public void setRequests(List<T> requests) { this.requests = requests; }
}
Это очень простой в использовании с другими компонентами, например:
@RequestMapping(value = "/departments/{departmentId}/patterns",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> post(
final @PathVariable long departmentId,
final @Valid @RequestBody BulkRequest<AddPatternRequest> bulkRequest
) {
...
}
AddPatternRequest
содержит собственные правила для проверки и представляет только один запрос, который может быть собрана в объеме запрос:
import javax.validation.constraints.NotNull;
public class AddPatternRequest {
@NotNull private Long pattern;
public Long getPattern() { return this.pattern; }
public void setPattern(Long pattern) { this.pattern = pattern; }
}
Но есть проблемы. После того, как контроллер получает запрос на массовую рассылку, он проверяет только BulkRequest
и проверяет, является ли requests
коллекция null
или нет, но мне также нужно проверить вложенный запрос.
Как я могу это сделать?