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

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

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

10 ответов


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

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

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

@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

посмотри dropwizard тоже.


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);

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


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


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


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

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


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

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

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

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


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


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

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