2016-08-28 2 views
0

Я использую Resteasy, и я хочу, чтобы иметь два почтовых методов, как это -Переопределение метода REST POST в зависимости от типа reuqest

@POST  
@Consumes("multipart/form-data") 
public void post( @PathParam("p1") String p1, 
         @PathParam("p2") String p2, 
         @PathParam("p3") String p3, 
         @Suspended AsyncResponse asyncResponse, 
         @Context HttpServletRequest httpServletRequest, 
         MultipartFormDataInput input) 
@POST  
public void post( @PathParam("p1") String p1, 
          @PathParam("p2") String p2, 
          @PathParam("p3") String p3, 
          @Suspended AsyncResponse asyncResponse, 
          @Context HttpServletRequest httpServletRequest) 

Первый метод пост для обработки загрузки файлов и другой пост метод для обработки всех запросов, за исключением загрузка файлов. Но когда я тестирую эти методы, загрузка файлов работает нормально, но запросы, отличные от загрузки файлов, не достигают ни одного из этих методов. Как я могу это достичь? Кроме того, я в порядке, если я могу каким-то образом получить оба типа запросов в одном методе, а затем обработать запросы условно на основе того, был ли загружен файл или нет ...

+0

эй, не могли бы вы показать мне, как выглядит ваш код клиента? Я продолжаю получать ошибку 'Невозможно найти контекстные данные типа: javax.ws.rs.ext.Providers' и вставлять« поставщиков @Context Providers »в качестве параметра не помогает :(Спасибо – Mathomatic

+0

Извините, приятель .. . Теперь у меня этого кода нет. –

+0

Возможно, это поможет - https://stackoverflow.com/questions/32436419/unable-to-find-contextual-data-of-type-java-ws-rs-container -containerrequest-w –

ответ

1

Ох. Ребята, ребята .. Должно быть, потому что вышеупомянутые методы подписей работают нормально .. :)

+0

Был ли первый метод вызван при загрузке файла? Также он вызвал второй метод, когда нет загрузки файла? – blackpen

+0

yes ............. :) –

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