Вы управляете сопоставлением параметра пути, помещая в параметре двоеточие, а затем шаблон RE для его сопоставления, например так (где RE равно .+[.].+
, что соответствует чему угодно, если оно где-то посередине есть хотя бы одна точка):
@Path("{domain}/{filename:.+[.].+}")
Я использую это в одном из моих сервисов (который использует Apache CXF, но я полагаю, что это особенность всех реализаций JAX-RS). Будьте осторожны, хотя! Вы можете сопоставить разделители пути с этим, что может привести к путанице. (Я думаю, что вам может быть лучше изменить структуру URI, чтобы не было двусмысленности, например, {domain}/id/{id}
и {domain}/files/{filename}
. Могу поспорить, что ваши клиенты будут ворчать гораздо быстрее.)