Easiest frameworks to implement Java REST web services [closed]

孤者浪人 提交于 2019-11-27 17:51:47

Restlet sounds like it should provide what you're looking for:

  • Support for client and server (in a relatively symmetric api)
  • Smart url binding
  • mime type understanding (given accepted mime types, it will ask your resources for their representation in that type)
  • Supports JAX-RS annotations (just like Jersey)

Jersey is really easy for both. To write web services, you use annotations:

@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";
    }
}

For a client:

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
joshua

Take a look at dropwizard too.

Restlet also support annotations in its 2.0 version, both on the client and server-side. The JAX-RS API is also supported as an extension.

Here is a simple example for server-side:

public class HelloWorldResource extends ServerResource {

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

}

On the client-side:

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

For further documentation, check this page.

There's JBoss' new RESTEasy library. It appears to be under rapid development since its initial launch. I've no idea if it's any good; it's on my 'check it out' list.

You could take a look at the CXF JAX-RS implementation. For complete list of its features check the CXF web site for JAX-RS. The community behind the project seems to be very active (July 2013). An indication of that is the number of messages per day in the CXF mailing lists.

Kevin Hakanson

I haven't used it personally but some teams that I work with are using Spring 3 MVC. REST in Spring 3: @MVC looks like a good blog post overview. The RESTful features include "URI Templates", "Content Negotiation", "HTTP Method Conversion", "ETag support" and more.

Edit: Also, see this question: Can anyone recommend a Java web framework that is based on MVC and supports REST ?

I can recommend Apache wink, a new framework still in incubation mode, but very mature and high quality.

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

It implements the JAX-RS specification, it has both client & server framework for REST development. Apache is standing behind this project - that's always a good sign (and a good license :-) )

What I love most about this framework is the intuitive integration with Spring, it's very useful if you want your framework to be easily configured and extended.

UPDATE: Xydra Restless is not longer maintained +++ If your are using Goolge AppEngine before they release a "reserve instance" feature, you might consider Xydra Restless which has few features but loads fast.

My favourite is Spring MVC, you have support for both, client and server side... And you have Android support too =)

For example, you can see a example of Spring Android here

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!