This is an automated email from the ASF dual-hosted git repository.

doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/master by this push:
     new 966cf363 EMPIREDB-387 Update Jersey dependencies and add Swagger for 
API-Documentation
     new 0a8d0b36 Merge branch 'master' of 
https://gitbox.apache.org/repos/asf/empire-db
966cf363 is described below

commit 966cf3633db8805a9765da825eecf62a4e05402a
Author: Rainer Döbele <[email protected]>
AuthorDate: Tue Mar 29 17:33:40 2022 +0200

    EMPIREDB-387 Update Jersey dependencies and add Swagger for 
API-Documentation
---
 empire-db-examples/empire-db-example-vue/pom.xml     | 20 ++++++++++++++++----
 empire-db-examples/empire-db-example-vue/readme.txt  | 20 +++++++++++++-------
 .../empire/rest/service/AuthenticationService.java   |  1 +
 .../apache/empire/rest/service/EmployeeService.java  |  1 +
 .../rest/service/filter/ServiceRequestFilter.java    |  7 ++++++-
 .../src/main/webapp/WEB-INF/web.xml                  | 16 +++++++++++++++-
 6 files changed, 52 insertions(+), 13 deletions(-)

diff --git a/empire-db-examples/empire-db-example-vue/pom.xml 
b/empire-db-examples/empire-db-example-vue/pom.xml
index 6fd451ca..a6123ea9 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 14c7e8d9..6e635378 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 @@ KIND, either express or implied.  See the License for the
 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
+
+----------------------------------------------------
+
+Here is how to to debug and develop the Vue example:
 
-3. Go to the directory "src/main/vue" (or open in WebStorm)
+1. Go to the directory "src/main/vue" (or open in WebStorm)
 
-4. Rename file "_eslintrc.js.bak" to ".eslintrc.js" (must start with .)
+2. Rename file "_eslintrc.js.bak" to ".eslintrc.js" (must start with .)
 
-5. Run the command:    npm install
+3. Run the command:    npm install
 
-6. Run the command:    npm run dev
+4. Run the command:    npm run dev
 
-7. Open Url:  http://localhost:8088/
+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 c5f9b2e6..512d6732 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.apache.empire.rest.json.JsoErrorInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
[email protected](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 71719a21..4ba50592 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.apache.empire.vue.sample.db.records.EmployeeRecord;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
[email protected](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 22a60079..83b5ea4c 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 @@ public class ServiceRequestFilter implements 
ContainerRequestFilter
     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 @@ public class ServiceRequestFilter implements 
ContainerRequestFilter
     {
         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 e64db01d..0306be8c 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>

Reply via email to