Можно ли получить параметр формы в виде байтового массива с помощью 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 [], это решит мою проблему . Также приветствуются любые другие решения.
Спасибо!