Путь JAX-RS с регулярным выражением - PullRequest
2 голосов
/ 08 апреля 2019

Если я использую "{}", чтобы указать условие подсчета в регулярном выражении JAX-RS @Path, эклипсис выдает как ошибку.

@Path("/apps/{itemId:\\d{10}}")
public Response getItems(...

Значение аннотации @Path'/apps/{itemId:\d{10}}' недопустимо: отсутствует '{' или '}'.

Является ли путь выше JAX-RS недопустимым?Это связано с проблемой валидатора JAX-RS затмения?Если я просто укажу @Path("/apps/{itemId}"), ошибки не будет.

1 Ответ

2 голосов
/ 08 апреля 2019

Вы не можете использовать фигурные скобки внутри переменной, если использует регулярное выражение в аннотации Path . Используйте вместо:

@Path("/apps/{itemId: \\d+}")

regex = * (nonbrace / "{" * nonbrace "}"); где nonbrace - любой символ, кроме "{" и "}"

Теоретически вы можете проверить 10 цифр, как хотите, используя несколько [0-9]:

@Path("/apps/{itemId: [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]}")
...