2017-02-15 9 views
0

У меня есть REST api, который получает входные данные как multipart/form-data. Подпись выглядит следующим образом:Как автоматически сопоставить данные о multipart/form-data в bean-компоненте в Джерси

@POST 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Path("/getorders") 
public Response getOrders(final FormDataMultiPart request) { 

Входные параметры в форме являются:

clientName 
orderType 
year 

Я хотел бы вместо того, чтобы иметь что-то вроде этого:

@POST 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Path("/getOrders") 
public Response getOrders(final OrderBean order) { 

И получить все мои входы в фасоли:

public class OrderBean { 

    private String clientName; 
    private int orderType; 
    private int year; 

    // Getters and setters 
} 

Есть ли способ сделать это автоматически с Джерси? Я знаю, что я могу вручную сопоставить поля и заполнить компонент, но на самом деле я ищу аннотацию или что-то в этом роде, которая может автоматически заполнить компонент.

ответ

0

Джерси поддерживает @FormDataParam s в @BeanParam фасоль. Если вы должны были сделать это (как вы увидите в большинстве примеров):

@POST 
public Response post(@FormDataParam("clientName") String clientName) {} 

Тогда вы также можете сделать

class OrderBean { 
    @FormDataParam("clientName") 
    private String clientName; 

    // getter/setters 
} 

@POST 
public Response post(@BeanParam OrderBean order) {} 

 Смежные вопросы

  • Нет связанных вопросов^_^