Использование REST-класса Single Jersey для нескольких PATH

Я начал разрабатывать REST-сервисы с использованием JAX-RS. Использовать Jersey довольно просто, однако одно отличие, с которым я столкнулся при использовании классов Spring MVC и Jersey REST, заключается в том, что Spring поддерживает необходимость игнорировать элемент Root Path и иметь индивидуальные сопоставления путей на уровне метода. Поэтому, если есть функция загрузки / выгрузки, я могу не захотеть иметь 2 класса, один с загрузкой и один с загрузкой, что Джерси просит меня сделать сейчас, потому что на уровне класса может быть только 1 корневой путь:

@Path("/uploads")
public class FileDownloadController {
......
}

Если я игнорирую корневой уровень @Path, то есть на уровне класса, Джерси при запуске сервера не распознает мой класс. Вот чего я хочу добиться:

public class FileProcessController {

   @Path("/uploads")
   public Response uploadFile(...) {
       ......
   }

   @Path("/downloads")
   public Response downloadFile(...) {
      ......
   }
}

Любые подсказки будут оценены.

Спасибо

1 ответ

Решение

Не уверен, правильно ли я понимаю вопрос, но следующее создаст две конечные точки в "корне Джерси" как /uploads а также /downloads, Вы сможете указать другие методы в корне; все это в одном классе.

@Path("/")  
public class FileProcessController {

   @Path("uploads")
   public Response uploadFile(...) {
       ...
   }

   @Path("downloads")
   public Response downloadFile(...) {
      ...
   }

}
Другие вопросы по тегам