From 2fc74ac58313741dd692821b94a001b8f4dc8dd9 Mon Sep 17 00:00:00 2001 From: Kc Date: Wed, 18 Jul 2018 23:42:40 +0200 Subject: [PATCH] Added reference to Jersey for RESTful services. Added Api package. Added BlocksResource as first candidate for API implementation. --- pom.xml | 5 +++++ src/api/BlocksResource.java | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 src/api/BlocksResource.java diff --git a/pom.xml b/pom.xml index bdf7f1b1..2a87677e 100644 --- a/pom.xml +++ b/pom.xml @@ -42,5 +42,10 @@ commons-net 3.3 + + org.glassfish.jersey.core + jersey-server + 2.27 + \ No newline at end of file diff --git a/src/api/BlocksResource.java b/src/api/BlocksResource.java new file mode 100644 index 00000000..0b2f0427 --- /dev/null +++ b/src/api/BlocksResource.java @@ -0,0 +1,28 @@ +package api; + +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.WebApplicationException; +import javax.ws.rs.core.MediaType; + +import repository.DataException; +import repository.Repository; +import repository.RepositoryManager; + +@Path("blocks") +@Produces(MediaType.APPLICATION_JSON) +public class BlocksResource { + + @GET + @Path("/height") + public static String getHeight() + { + try (final Repository repository = RepositoryManager.getRepository()) { + return String.valueOf(repository.getBlockRepository().getBlockchainHeight()); + } catch (Exception e) { + throw new WebApplicationException("What happened?"); + } + } + +}