Ява, Джерси:Получить параметр формы в виде байтового массива

Можно ли получить параметр формы в виде байтового массива с помощью Jersey?

Я пробовал следующее:

@Path("/someMethod")
@POST
@Produces(MediaType.TEXT_HTML)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public String someMethod(@FormParam("someParam") byte[] someParam)
{
    return "";
}

Но получил эту ошибку:

SEVERE: The following errors and warnings have been detected with resource and/or provider classes:
  SEVERE: Missing dependency for method public java.lang.String SomeClass.someMethod(byte[]) at parameter at index 0
  SEVERE: Missing dependency for method public java.lang.String SomeClass.someMethod(byte[]) at parameter at index 0
  SEVERE: Method, public java.lang.String SomeClass.someMethod(byte[]), annotated with POST of resource, class SomeClass, is not recognized as valid resource method.

Если я изменю byte [] на String, все будет работать правильно .

Причина, по которой мне нужно получать данные как byte [], а не как String, заключается в том, что данные могут быть закодированы с использованием разных кодировок. Это зависит от HTML-документа, который отправляет данные, и мне нужно правильно декодировать данные на стороне сервера (кодировка кодирования передается в отдельном параметре).

Итак, если я могу получать данные как byte [], это решит мою проблему . Также приветствуются любые другие решения.

Спасибо!

6
задан Dima L. 8 June 2011 в 18:29
поделиться