REST запрос к сервлету JAVA - PullRequest
       0

REST запрос к сервлету JAVA

1 голос
/ 18 февраля 2011

У меня есть некоторый JavaScript, который я хочу выполнить REST Request (GET) для моего сервлета.Формат записи, которую я хочу отправить, имеет следующий формат ...

/id1/vara/varb/varc/timedelta1,timedelta2,timedelta3,....,timedeltaN/ 

Таким образом, в каждой отправляемой мной записи будет по 5 атрибутов.Мне нужно сгруппировать их - я отправляю несколько записей в одном запросе GET.Мой URL-адрес Get может выглядеть примерно так:

myservletname/id1/vara/varb/varc/timedelta1,timedelta2,timedelta3/id2/vara/varb/varc/timedelta1,timedelta2,timedelta3/id3/vara/varb/varc/timedelta1,timedelta2,timedelta3/  

Мне известно ограничение в 2000 строк в строке URL, поэтому для обеспечения безопасности я буду следить за длиной URL-адреса.меньше этого.В приведенном выше примере 3 записи были отправлены сервлету.

Мне интересно, как я могу обработать их на стороне сервера.До сих пор не работал с REST в Java.Что мне нужно сделать на стороне сервера для обработки этих URL-адресов для извлечения данных?

Спасибо

Ответы [ 3 ]

1 голос
/ 18 февраля 2011

В основном

public class RestServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) {
        String uri = request.getPathInfo();
        Pattern p = Pattern.compile(
            "/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(\d+)(?:,(\d+))*/"
        );
        Matcher m = p.matcher(uri);
        if (m.matches()) {
            String id = m.group(1);
            String vara = m.group(2);
            String varb = m.group(3);
            String deltas = m.group(4);

            // etc
        }
    }
}

Это не очень хорошая модель для того, как это сделать, но она проста и понятна для тех, кто не знаком с сервлетами

1 голос
/ 18 февраля 2011

Вы можете использовать JAX-RS или Рестлеты вместо сервлета

0 голосов
/ 18 февраля 2011

Вы должны серьезно рассмотреть возможность использования POST вместо GET для этого. REST (и URL) не были предназначены для этой цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...