В приложении Spring Boot я создаю API, который принимает значение в заголовке запроса типа application / pdf или image /*.
@GetMapping(path = "/test, produces = { MediaType.APPLICATION_OCTET_STREAM_VALUE,
MediaType.APPLICATION_PDF_VALUE, MediaType.IMAGE_PNG_VALUE, MediaType.APPLICATION_JSON_VALUE })
public ResponseEntity<?> getSomething( @RequestHeader(name = "Accept") @NotEmpty List<String>
acceptTypes)
Я хочу проверить, содержит ли оно какое-либо из изображений / *например, image / png и т. д.
boolean acceptHeaderValid = false;
for (String acceptType : acceptTypes) {
if (acceptType.matches("image/*") || acceptType.matches(MediaType.APPLICATION_PDF_VALUE)) {
acceptHeaderValid = true;
break;
}
}
Но когда я отправляю image / * в заголовке Accept в Insomnia, acceptType.matches ("image / *") оценивается как ложное. В чем ошибка в регулярном выражении? Есть ли более эффективный способ сделать это?