Фактический URL-адрес шлюза API AWS в приложении Java, развернутом за ELB

У меня есть приложение для отдыха Джерси 1.9, развернутое на серверах tomcat (EC2). Серверы Tomcat работают за шлюзами AWS ELB и API для балансировки нагрузки, кэширования, мониторинга и т. д.

Поток вызовов для остальных приложений: клиент --> API-шлюзы --> ELB --> приложение (EC2-tomcat)

Клиент использует URL-адрес шлюза APi для вызова службы. Как я могу получить фактический URL-адрес шлюзов API, который используется клиентом, в моем приложении с использованием Java (ws.core?) или UriInfo?

Заранее спасибо.


person code1234    schedule 01.02.2017    source источник
comment
Какая часть URL-адреса шлюза API вам нужна? Имя хоста? Дорожка? Строка запроса? Какую проблему вы решаете с помощью этой информации?   -  person Michael - sqlbot    schedule 01.02.2017
comment
В моем приложении REST я реализовал нумерацию страниц, и для этого мне нужно установить следующий URL-адрес. Следующий URL-адрес будет полным URL-адресом шлюза API + некоторые дополнительные параметры запроса.   -  person code1234    schedule 01.02.2017


Ответы (1)


Предполагая, что ваш NextURL поступает в качестве параметра запроса, шлюз API просто передаст его вашему приложению на Джерси. Вы можете посмотреть пример документации Джерси о том, как определить и получить параметры запроса внутри вашего приложения: https://jersey.java.net/documentation/latest/jaxrs-resources.html#d0e2240

person Vitalii Budkevych    schedule 01.02.2017
comment
Спасибо за ответ. В моем приложении на Джерси мое требование состоит в том, чтобы создать следующий URL-адрес. Предположим, что клиент обращается к шлюзу API (apigateway-url.com/q=val1) и он переходит в приложение Джерси через балансировщик нагрузки. Поэтому в приложении мне нужно получить полный URL-адрес (apigateway-url.com/q=val1), чтобы создать следующий URL-адрес (URL-адрес APIGateway + еще несколько параметров запроса) ответа. - person code1234; 02.02.2017