У меня есть класс, реализующий конечную точку JAX-RS, согласно ниже:Java JAX-RS реагируют на любой конечной точке вызова
@Produces({MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_FORM_URLENCODED})
@Path("/site/")
public class ApiSiteResource extends AbstractContentResource {
...
@GET
@Path("/article/")
public Map<String, Object> getArticle (@Context HttpServletRequest request, @Context HttpServletResponse reponse, @BeanParam ApiParams params) {
//do stuff
}
@GET
@Path("/category/")
public Map<String, Object> getCategory (@Context HttpServletRequest request, @Context HttpServletResponse reponse, @BeanParam ApiParams params) {
//do stuff
}
Что мне нужно, чтобы выполнить общую обработку (например, захват аналитики данных) когда вызывается какой-либо из концов этого класса REST, например, для/site/article/и/site/category /. Я в идеале ищу решение, которое будет вызываться в конце выполнения метода, и в идеале с минимальным возможным изменением кода существующих методов, поэтому добавление другого вызова метода в конце метода не является лучшим вариантом, поскольку приводит к слишком большому сцеплению кода. В идеале, я бы хотел, чтобы обработка была запущена из внешнего класса.
Есть ли способ, как это можно сделать?
попробуйте удалить переднюю косую черту после каждого маршрута. Как в '/ site,/article,/category' –
Спасибо Янг, это хорошее предложение - но боюсь, что это не поможет проблеме, которую я пытаюсь решить? –
Хорошо, если я получу вас, вы пытаетесь вызвать метод из другого класса? –