Поддерживается ли REST по умолчанию в JavaScript и Java или мне нужно установить новое программное обеспечение? - PullRequest
0 голосов
/ 08 августа 2010

Требуется ли установка нового программного обеспечения для использования служб REST с JavaScript и Java?

Ответы [ 3 ]

2 голосов
/ 08 августа 2010

Вам не нужно ничего, кроме веб-сервера. Основная точка REST такова:

  • каждый «ресурс» имеет адрес URI (читай «URL»)
  • каждый ресурс может работать с четырьмя основными методами HTTP: GET, PUT, POST, DELETE

Итак, допустим, у вас есть запись клиента, и запись идентифицируется с помощью идентификационного номера. Возможно, клиент будет идентифицирован по URL-адресу, например

http://example.com/customer/124c41

GET по этому URL даст вам информацию для отображения; PUT обновит его; POST создаст его (большинство людей фактически используют POST там, где формально вы хотите PUT), а DELETE удаляет его.

Ответственность за точную реализацию лежит на вас, но это модель.

1 голос
/ 20 августа 2010

Еще одна вещь, которую следует учитывать, это сторона клиента.

Вы можете использовать стандартные API Java SE:

private void updateCustomer(Customer customer) {
    try {
        URL url = new URL("http://www.example.com/customers");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setDoOutput(true);
        connection.setInstanceFollowRedirects(false);
        connection.setRequestMethod("PUT");
        connection.setRequestProperty("Content-Type", "application/xml");

        OutputStream os = connection.getOutputStream();
        jaxbContext.createMarshaller().marshal(customer, os);
        os.flush();

        connection.getResponseCode();
        connection.disconnect();
    } catch(Exception e) {
        throw new RuntimeException(e);
    }
}

Или вы можете использовать клиентские API REST, предоставляемые реализациями JAX-RS.такие как Джерси.Эти API-интерфейсы проще в использовании, но требуют дополнительных jar-файлов на вашем пути к классам.

WebResource resource = client.resource("http://www.example.com/customers");
ClientResponse response = resource.type("application/xml");).put(ClientResponse.class, "<customer>...</customer.");
System.out.println(response);
1 голос
/ 08 августа 2010

Нет, вы нет.К сервисам REST, которые используют только глаголы HTTP GET и POST, можно получить доступ, как к любому URL в javascript.Чаще всего вы используете AJAX для доступа к службе REST и что-то делаете с ответом.

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