HelloWorld with RESTEasy
An example with Gradle and current libraries
RESTEasy is a cool project for building RESTful Web Services with Java. It is an JAX-RS
implementation. And I really like the tight integration into quarkus.
I show you how to build a simple project with Gradle (build.gradle.kts):
plugins {
war
id("org.gretty") version "3.0.1"
}
repositories {
jcenter()
}
dependencies {
implementation("org.jboss.resteasy:resteasy-jackson2-provider:4.4.2.Final")
implementation("org.jboss.resteasy:resteasy-client:4.4.2.Final")
providedCompile("javax.servlet:javax.servlet-api:4.0.1")
testImplementation("org.junit.jupiter:junit-jupiter-api:5.5.1")
testImplementation("org.junit.jupiter:junit-jupiter-api:5.5.1")
// Use JUnit Jupiter Engine for testing.
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.5.1")
}
val test by tasks.getting(Test::class) {
// Use junit platform for unit tests
useJUnitPlatform()
}
That’s everything you need for building the project.
And the REST Controller could look like this:
package de.claudioaltamura.resteasy.helloworld;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
@Path("/helloworld")
public class HelloWorldResource
{
@GET
@Produces("application/json")
public HelloWorld greeting(@QueryParam("name") String name)
{
return new HelloWorld(name);
}
}
If you now interested to learn more RESTEasy, than you can go deeper and look at the links below or at my github project.
Links
RESTEasy Documentation
https://resteasy.github.io/docs/
MicroProfile REST Client
https://github.com/eclipse/microprofile-rest-client
Jakarta RESTful Web Services (JAX-RS)
https://github.com/eclipse-ee4j/jaxrs-api
RESTEasy HelloWorld example
https://github.com/claudioaltamura/resteasy-helloworld