Documentation

Trace:

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
jvx:communication:rest_customservice [2022/11/17 13:23]
admin
jvx:communication:rest_customservice [2022/11/22 10:06] (current)
admin
Line 1: Line 1:
 ~~NOTRANS~~ ~~NOTRANS~~
 ~~Title: Custom REST service registration~~ ~~Title: Custom REST service registration~~
 +
 JVx already has [[jvx:​common:​util:​rest|REST services]] for action calls, data access an administration. Sometimes it's necessary to offer custom REST services for an application. Sure, you could create a simple action in your application and an action can be called with standard REST services, but this requires application authentication. If you have a different use-case for your REST service it's also possible to create your own REST service without using different libraries. JVx already has [[jvx:​common:​util:​rest|REST services]] for action calls, data access an administration. Sometimes it's necessary to offer custom REST services for an application. Sure, you could create a simple action in your application and an action can be called with standard REST services, but this requires application authentication. If you have a different use-case for your REST service it's also possible to create your own REST service without using different libraries.
  
-The easiest solution is to create a service class which is a servlet context listener. Why a listener? because we need an entry point to register our custom service. If you don't prefer a listener, it would also be possible to create a server plugin for JVx' server. But in this article, we use a servlet context listener.+The easiest solution is to create a service class which is a servlet context listener. Why a listener? because we need an entry point to register our custom service. If you don't prefer a listener, it would also be possible to create a [[jvx:​common:​setup:​plugins|server plugin]] for JVx' server. But in this article, we use a servlet context listener.
  
 Our class looks like: Our class looks like:
Line 88: Line 89:
 } }
 </​file>​ </​file>​
-If you won't define the context listener as @WebListener,​ simply add:+If you won't define the context listener as ''​@WebListener''​, simply add:
  
 <file xml> <file xml>
Line 97: Line 98:
 to your deployment descriptor (web.xml). to your deployment descriptor (web.xml).
  
-To use your services, simply send GET or POST requests, e.g.+To use your services, simply send ''​GET'' ​or ''​POST'' ​requests, e.g.
  
 <file java> <file java>
Line 134: Line 135:
 } }
 </​file>​ </​file>​
 +
 +The user-zone is per default ''​_zone''​ (e.g. **http://​localhost/​AppContext/​services/​rest/​_user/​healthCheck**). If you want another zone name, simply add a parameter to the servlet mapping in deployment descriptor (web.xml):
 +
 +<file xml>
 +<​servlet>  ​
 +  <​servlet-name>​RestletServlet</​servlet-name>  ​
 +  <​servlet-class>​com.sibvisions.rad.server.http.rest.RESTServlet</​servlet-class>​
 +
 +  <​init-param>​
 +    <​param-name>​zone.user</​param-name>​
 +    <​param-value>​uzone</​param-value>​
 +  </​init-param>​
 +</​servlet>​
 +</​file>​
 +
 +The zone name is now ''​uzone''​ (e.g. **http://​localhost/​AppContext/​services/​rest/​uzone/​healthCheck**).
 +
 +The complete source code is available [[https://​sourceforge.net/​p/​jvx/​code/​HEAD/​tree/​trunk/​java/​server/​tomcat/​|here]].
 +
 +In this document, we registered User services. It's also possible to register custom services as [[jvx:​common:​util:​rest#​administration|Admin services]]. The difference is that it's possible to [[jvx:​server:​security:​rest_services_disable|en/​disable admin services]] by name.
This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information