<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.32</version>
</dependency>
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
@Path("users")
public class UserResource {
@GET
@Path("{id}")
@Produces(MediaType.APPLICATION_JSON)
public User getUser(@PathParam("id") int id) {
User user = new User(id, "John Doe");
return user;
}
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void createUser(User user) {
}
}
import org.glassfish.jersey.jackson.JacksonFeature;
import org.glassfish.jersey.server.ResourceConfig;
public class MyApplication extends ResourceConfig {
public MyApplication() {
register(UserResource.class);
register(JacksonFeature.class);
}
}
import org.glassfish.jersey.jdkhttp.JdkHttpServerFactory;
import org.glassfish.jersey.server.ResourceConfig;
import javax.ws.rs.core.UriBuilder;
import java.net.URI;
public class Main {
public static void main(String[] args) {
URI baseUri = UriBuilder.fromUri("http://localhost/").port(8080).build();
ResourceConfig config = new MyApplication();
JdkHttpServerFactory.createHttpServer(baseUri, config);
System.out.println("Server started at " + baseUri);
}
}