Есть ли способ для чтения данных формы из HttpServletRequest? - PullRequest
1 голос
/ 06 июня 2019

Я получаю данные формы, добавляя @FormDataParam к параметру интерфейса REST.

В правилах кодекса наших компаний указано, что в методе не следует использовать более 7 параметров. Поэтому я хотел бы уменьшить количество параметров для этого интерфейса REST.

@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public Response upload(@Context final HttpServletRequest request, @FormDataParam("file") final java.io.File file, @FormDataParam("file") final FormDataContentDisposition fileMetaData, @FormDataParam("file") final FormDataBodyPart formDataBodyPart, @FormDataParam("networksegments") final String networksegments, @FormDataParam("users") final String users, @FormDataParam("username") final String username, @FormDataParam("token") final String token) {
    //Some code
}

Я ищу метод, подобный request.getFormData("name"), чтобы сделать параметр устаревшим. Приведенный выше код работает нормально, я хочу оптимизации.

1 Ответ

2 голосов
/ 06 июня 2019

Вы можете создать свой собственный bean-компонент с параметрами @FormDataParam и добавить к bean , а затем использовать один @BeanParam для всех параметров в конечной точке

class OrderBean {
   @FormDataParam("clientName")
    private String clientName;
  // getter/setters
  }

@POST
  public Response post(@BeanParam OrderBean order) {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...