#jax-rs #eclipse-oxygen
#jax-rs #eclipse-кислород
Вопрос:
Если я использую «{}» для указания условия подсчета в регулярном выражении JAX-RS @Path
, eclipse выдает ошибку.
@Path("/apps/{itemId:\d{10}}")
public Response getItems(...
Значение аннотации @Path
'/apps/{itemId:d{10}}'
недопустимо:
отсутствует ‘{‘ или ‘}’.
Является ли указанный выше путь JAX-RS недопустимым путем? Связано ли это с проблемой проверки eclipse JAX-RS? Если я просто укажу @Path("/apps/{itemId}")
, ошибки не будет.
Ответ №1:
Вы не можете использовать фигурные скобки внутри переменной при использовании регулярного выражения в аннотации пути. Используйте вместо этого:
@Path("/apps/{itemId: \d }")
регулярное выражение = *( без скобок / «{» * без скобок «}» ); где без скобок — любой символ, отличный от «{» и «}».
Теоретически вы можете проверить 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]}")
Комментарии:
1. странно, что ‘{‘ не принимается. Я бы предпочел принять все цифры и проверить после этого. Спасибо.
2. @ulab они, вероятно, хотели избежать обработки особых случаев с помощью внутренних / множественных фигурных скобок