Вы можете создать прокси-сервис RESTful и использовать его в качестве точки входа для всех ваших других сервисов RESTful. Этот прокси-сервер может принимать запросы, выполнять любую предварительную обработку, вызывать требуемую службу RESTful, обрабатывать ответ и затем возвращать что-либо вызывающей стороне.
У меня есть такая настройка в проекте, над которым я работаю. Прокси-сервер выполняет такие функции, как аутентификация, авторизация и ведение журнала аудита. Я могу вдаваться в подробности, если хотите.
Edit:
Вот идея о том, как вы можете реализовать прокси, поддерживающий запросы 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.
}
}