Я использую функцию Header Heading для создания заголовков HTTP-ссылок:
@InjectLink(value="users/?orgId=12345&page=0",rel="first")
Хорошо работает, кроме вопросительного знака - это закодировано в% 3F, и полученный URL-адрес выглядит следующим образом: http://localhost:8080/app/users/%3ForgId=12345&page=0
Есть ли способ предотвратить кодирование и оставить вопросительный знак char как есть?
Это не подходит для @InjectLink(value)
. Создание параметра URL должно использоваться @InjectLink(method, bindings...)
.
Например:
@InjectLink(
resource = UserResource.class,
method ="getUserById",
bindings ={@Binding(name = "orgId", value = "${instance.orgId}")},
style = Style.ABSOLUTE,
... )
И целевой ресурс Джерси UserResource.java:
@Path("users/{orgId}")
public User getUserById(@PathParam("orgId") String orgId) {...}
Вопрос mar - это url, закодированный для строки параметров запроса, поэтому его нормальное значение имеет% 3 в вашем пути. Попробуйте использовать "привязки" или поместив @Queryparams, как это. Как заставить URIBuilder.path(...) кодировать такие параметры, как "% AD"? Этот метод не всегда кодирует параметры с процентом, правильно