Вопросительный знак в значении @InjectLink кодируется как% 3F. Как это предотвратить?

1

Я использую функцию Header Heading для создания заголовков HTTP-ссылок:

@InjectLink(value="users/?orgId=12345&page=0",rel="first")

Хорошо работает, кроме вопросительного знака - это закодировано в% 3F, и полученный URL-адрес выглядит следующим образом: http://localhost:8080/app/users/%3ForgId=12345&page=0

Есть ли способ предотвратить кодирование и оставить вопросительный знак char как есть?

Теги:
jersey

2 ответа

1

Это не подходит для @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) {...}
0

Вопрос mar - это url, закодированный для строки параметров запроса, поэтому его нормальное значение имеет% 3 в вашем пути. Попробуйте использовать "привязки" или поместив @Queryparams, как это. Как заставить URIBuilder.path(...) кодировать такие параметры, как "% AD"? Этот метод не всегда кодирует параметры с процентом, правильно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню