EMPIREDB-387 Update Jersey dependencies and add Swagger for API-Documentation
diff --git a/empire-db-examples/empire-db-example-vue/pom.xml b/empire-db-examples/empire-db-example-vue/pom.xml
index 6fd451c..a6123ea 100644
--- a/empire-db-examples/empire-db-example-vue/pom.xml
+++ b/empire-db-examples/empire-db-example-vue/pom.xml
@@ -74,12 +74,24 @@
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
- <version>2.25.1</version>
+ <version>2.35</version>
</dependency>
<dependency>
- <groupId>org.glassfish.jersey.media</groupId>
- <artifactId>jersey-media-json-jackson</artifactId>
- <version>2.25.1</version>
+ <groupId>org.glassfish.jersey.media</groupId>
+ <artifactId>jersey-media-json-jackson</artifactId>
+ <version>2.35</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.inject</groupId>
+ <artifactId>jersey-hk2</artifactId>
+ <version>2.35</version>
+ </dependency>
+
+ <!-- Swagger -->
+ <dependency>
+ <groupId>io.swagger</groupId>
+ <artifactId>swagger-jersey2-jaxrs</artifactId>
+ <version>1.6.5</version>
</dependency>
<!-- logging -->
diff --git a/empire-db-examples/empire-db-example-vue/readme.txt b/empire-db-examples/empire-db-example-vue/readme.txt
index 14c7e8d..6e63537 100644
--- a/empire-db-examples/empire-db-example-vue/readme.txt
+++ b/empire-db-examples/empire-db-example-vue/readme.txt
@@ -15,20 +15,26 @@
specific language governing permissions and limitations
under the License.
-In order to run the vue example please do the following:
+--------------------------------------------------------
+
+In order to run the Vue example please do the following:
1. Start the REST-Service via "Debug on Server" using Tomcat
2. Browse to: http://localhost:8080/empvue
-In order to debug and develop the vue example please do the following:
+3. API-Doc: http://localhost:8080/empvue/api/swagger.yaml
-3. Go to the directory "src/main/vue" (or open in WebStorm)
+----------------------------------------------------
-4. Rename file "_eslintrc.js.bak" to ".eslintrc.js" (must start with .)
+Here is how to to debug and develop the Vue example:
-5. Run the command: npm install
+1. Go to the directory "src/main/vue" (or open in WebStorm)
-6. Run the command: npm run dev
+2. Rename file "_eslintrc.js.bak" to ".eslintrc.js" (must start with .)
-7. Open Url: http://localhost:8088/
+3. Run the command: npm install
+
+4. Run the command: npm run dev
+
+5. Open Url: http://localhost:8088/
diff --git a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/AuthenticationService.java b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/AuthenticationService.java
index c5f9b2e..512d673 100644
--- a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/AuthenticationService.java
+++ b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/AuthenticationService.java
@@ -36,6 +36,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@io.swagger.annotations.Api(value = "auth")
@Path("/auth")
public class AuthenticationService
{
diff --git a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java
index 71719a2..4ba5059 100644
--- a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java
+++ b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java
@@ -51,6 +51,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@io.swagger.annotations.Api(value = "employee")
@Path("/employee")
public class EmployeeService extends Service {
diff --git a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/filter/ServiceRequestFilter.java b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/filter/ServiceRequestFilter.java
index 22a6007..83b5ea4 100644
--- a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/filter/ServiceRequestFilter.java
+++ b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/filter/ServiceRequestFilter.java
@@ -44,7 +44,7 @@
private static final Logger log = LoggerFactory.getLogger(ServiceRequestFilter.class);
@Context
- private ServletContext servletContext;
+ private ServletContext servletContext;
@Override
public void filter(ContainerRequestContext requestContext)
@@ -52,6 +52,11 @@
{
String path = requestContext.getUriInfo().getPath();
log.info("Filtering request path: " + path);
+ // swagger
+ if (path.startsWith("swagger."))
+ {
+ return;
+ }
// Check authentication
if (!path.startsWith("auth") && !requestContext.getMethod().equals("OPTIONS"))
{
diff --git a/empire-db-examples/empire-db-example-vue/src/main/webapp/WEB-INF/web.xml b/empire-db-examples/empire-db-example-vue/src/main/webapp/WEB-INF/web.xml
index e64db01..0306be8 100644
--- a/empire-db-examples/empire-db-example-vue/src/main/webapp/WEB-INF/web.xml
+++ b/empire-db-examples/empire-db-example-vue/src/main/webapp/WEB-INF/web.xml
@@ -20,11 +20,25 @@
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
- <param-value>org.apache.empire.rest.service</param-value>
+ <param-value>io.swagger.jaxrs.listing, org.apache.empire.rest.service</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
+ <servlet>
+ <servlet-name>Jersey2Config</servlet-name>
+ <servlet-class>io.swagger.jersey.config.JerseyJaxrsConfig</servlet-class>
+ <init-param>
+ <param-name>api.version</param-name>
+ <param-value>1.0.0</param-value>
+ </init-param>
+ <init-param>
+ <param-name>swagger.api.basepath</param-name>
+ <param-value>http://localhost:8080/empvue/api</param-value>
+ </init-param>
+ <load-on-startup>2</load-on-startup>
+ </servlet>
+
<servlet-mapping>
<servlet-name>EmployeeServiceServlet</servlet-name>
<url-pattern>/api/*</url-pattern>