Подтвердить что ты не робот

Самые простые фреймворки для реализации веб-сервисов Java REST

Каковы наилучшие рамки для реализации как клиентских, так и серверных REST-структур в Java? Я немного пытался найти легкое в использовании решение.

Обновление. И Джерси, и Restlet кажутся хорошими вариантами. Вероятно, мы будем использовать Restlet, но мы будем экспериментировать с обоими.

4b9b3361

Ответ 1

Restlet звучит так, будто он должен обеспечить то, что вы ищете:

  • Поддержка клиента и сервера (в относительно симметричном api)
  • Интеллектуальная привязка URL
  • понимание типа mime (с учетом принятых типов mime, он будет запрашивать ваши ресурсы для их представления в этом типе)
  • Поддержка аннотаций JAX-RS (как и Джерси)

Ответ 2

Jersey действительно легко для обоих. Чтобы писать веб-службы, вы используете аннотации:

@Path("/helloworld")
public class HelloWorldResource {

    // The Java method will process HTTP GET requests
    @GET
    // The Java method will produce content identified by the MIME Media
    // type "text/plain"
    @Produces("text/plain")
    public String helloWorld() {
        // Return some cliched textual content
        return "Hello World";
    }
}

Для клиента:

Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8080/helloworld");
String s = webResource.get(String.class);
System.out.println(s); // prints Hello World

Ответ 4

Restlet также поддерживает аннотации в своей версии 2.0, как на стороне клиента, так и на стороне сервера. API JAX-RS также поддерживается как расширение.

Вот простой пример для серверной части:

public class HelloWorldResource extends ServerResource {

    @Get
    public String represent() {
        return "hello, world";
    }

}

На стороне клиента:

// Outputting the content of a Web page  
new ClientResource("http://www.restlet.org").get().write(System.out);

Для дальнейшей документации проверьте эту страницу.

Ответ 5

Там находится новая библиотека RESTEasy JBoss. Кажется, он находится в стадии быстрого развития с момента его первоначального запуска. Я понятия не имею, хорошо ли это; это в моем списке "Проверить это".

Ответ 6

Вы можете взглянуть на реализацию CXF JAX-RS. Полный список его функций можно найти на веб-сайте CXF для JAX-RS. Сообщество, стоящее за проектом, похоже, очень активно (июль 2013 года). Показателем является количество сообщений в день в списках рассылки CXF.

Ответ 7

Я не использовал его лично, но некоторые команды, с которыми я работаю, используют Spring 3 MVC. REST в Spring 3: @MVC выглядит как хороший обзор блога. Функции RESTful включают "Шаблоны URI", "Консолидация контента", "Преобразование методов HTTP", "Поддержка ETag" и многое другое.

Изменить. Также см. этот вопрос: Может ли кто-нибудь рекомендовать веб-фреймворк Java, основанный на MVC и поддерживающий REST?

Ответ 8

Я могу порекомендовать Apache, новую фреймворк, еще в инкубационном режиме, но очень зрелую и качественную.

http://incubator.apache.org/wink/

Он реализует спецификацию JAX-RS, он имеет как клиентскую, так и серверную среду для разработки REST. Apache стоит за этим проектом - это всегда хороший знак (и хорошая лицензия:-))

То, что мне больше всего нравится в этой структуре, - интуитивная интеграция с Spring, это очень полезно, если вы хотите, чтобы ваша инфраструктура была легко сконфигурирована и расширена.

Ответ 9

ОБНОВЛЕНИЕ: Xydra Restless больше не поддерживается +++ Если вы используете Goolge AppEngine перед выпуском функции "резервный экземпляр", вы можете рассмотреть Xydra Беспокойный, который имеет несколько функций, но быстро загружается.

Ответ 10

Мой любимый Spring MVC, у вас есть поддержка как на стороне клиента, так и на стороне сервера... И у вас есть поддержка Android тоже =)

Например, вы можете увидеть пример Spring Android здесь