Вы можете создать прокси-службу RESTful и использовать ее как точку входа во все ваши другие службы RESTful. Этот прокси-сервер может получать запросы, выполнять любую предварительную обработку, вызывать требуемую службу RESTful, обрабатывать ответ и затем возвращать что-то вызывающему.
У меня есть такая настройка в проекте, над которым я работал. Прокси выполняет такие функции, как проверка подлинности, авторизация и ведение журнала аудита. Если хочешь, я могу узнать подробности.
Редактировать:
Вот представление о том, как вы можете реализовать прокси-сервер, который поддерживает запросы GET;
@Path("/proxy")
public class Proxy
{
private Logger log = Logger.getLogger(Proxy.class);
@Context private UriInfo uriInfo;
@GET
@Path("/{webService}/{method}")
public Response doProxy(@Context HttpServletRequest req,
@PathParam("webService") String webService,
@PathParam("method") String method)
{
log.debug("log request details");
//implement this method to work out the URL of your end service
String url = constructURL(req, uriInfo, webService, method);
//Do any actions here before calling the end service
Client client = Client.create();
WebResource resource = client.resource(url);
try
{
ClientResponse response = resource.get(ClientResponse.class);
int status = response.getStatus();
String responseData = response.getEntity(String.class);
log.debug("log response details");
//Do any actions here after getting the response from the end service,
//but before you send the response back to the caller.
return Response.status(status).entity(responseData).build();
}
catch (Throwable t)
{
//Global exception handler here
//remember to return a Response of some kind.
}
}
Принятый ответ не адрес вашей желание иметь предварительные и последующие действия. Вы когда-нибудь пришли к решению? –
Пользовательский [Сервлет-фильтр] (http://download.oracle.com/javaee/5/api/javax/servlet/Filter.html) - это путь. – yegor256