@QueryParam регулярное выражение - PullRequest
2 голосов
/ 06 октября 2011

Я использую Джерси для отдыха и у меня есть метод, который принимает @QueryParam.

Однако пользователи могут отправить @QueryParam. так:

contractName#, где # - это число от 0 до 155.

Как я могу определить его в QueryParam (как выражение регулярного выражения)?

Ответы [ 3 ]

3 голосов
/ 07 октября 2011

Я не думаю, что вы можете сделать это с помощью QueryParam, но вы можете получить список параметров напрямую:

@GET
public String get(@Context UriInfo ui) {
    MultivaluedMap<String, String> queryParams = ui.getQueryParameters();
}

и выполнить итерацию в поиске ключей, соответствующих вашему регулярному выражению.

3 голосов
/ 06 октября 2011

Вы не можете указать регулярное выражение. Однако вы можете определить собственный тип Java для представления этого параметра запроса и реализовать собственное преобразование из String в этот тип - см. http://jersey.java.net/nonav/documentation/latest/jax-rs.html#d4e255 (пример 2.15).

0 голосов
/ 20 ноября 2013
@GET
public String get (@QueryParam(value="param") String param){

 boolean test =testYourParamWithNativeRegexpTools(param);
 if( test==false)return 400;
 else //work
.....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...