gpt4 book ai didi

java - 如何在Java中为 "image/*"的String.matches()创建有效的正则表达式?

转载 作者:行者123 更新时间:2023-12-01 22:29:37 24 4
gpt4 key购买 nike

在 Spring Boot 应用程序中,我正在制作一个 API,它接受 application/pdf 或 image/* 类型的请求 header 中的值。

@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/*,如 image/png 等。

boolean acceptHeaderValid = false;
for (String acceptType : acceptTypes) {
if (acceptType.matches("image/*") || acceptType.matches(MediaType.APPLICATION_PDF_VALUE)) {
acceptHeaderValid = true;
break;
}
}

但是当我在 Insomnia 的 Accept header 中发送 image/* 时,acceptType.matches("image/*") 的计算结果为 false。正则表达式中的错误是什么?有没有更有效的方法来做到这一点?

最佳答案

它可能不是很复杂,但一个简单的方法是使用String.startsWith从字面上看:

acceptType.startsWith("image/")

关于java - 如何在Java中为 "image/*"的String.matches()创建有效的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58554344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com