Difference between revisions of "Jax-rs 2.0"
From berki WIKI
(Created page with "https://dennis-xlc.gitbooks.io/restful-java-with-jax-rs-2-0-en/cn/part1/chapter8/building_and_invoking_requests.html Jax-rs kliens: <source lang="java" line start="2" highl...") |
|||
Line 1: | Line 1: | ||
https://dennis-xlc.gitbooks.io/restful-java-with-jax-rs-2-0-en/cn/part1/chapter8/building_and_invoking_requests.html | https://dennis-xlc.gitbooks.io/restful-java-with-jax-rs-2-0-en/cn/part1/chapter8/building_and_invoking_requests.html | ||
+ | |||
+ | =JAX-RS szerver= | ||
+ | |||
+ | ==Inicializálás== | ||
+ | A JAX-RS szerver futtatásához el kell indítsuk a Jersy servlet-et a WEB alkalmazásunkban, ami kiválóan megfér más servlet-ek mellett, pl JSF. A Jersey servletnek meg fogjuk mondani, hogy milyen PATH tartozik hozzá, így minden más erőforrás kérés továbbra is a JSF servlet-hez fog beesni. | ||
+ | |||
+ | ===Maven dependenciák=== | ||
+ | <source lang="xml"> | ||
+ | <dependency> | ||
+ | <groupId>org.glassfish.jersey.containers</groupId> | ||
+ | <artifactId>jersey-container-servlet</artifactId> | ||
+ | <version>2.28</version> | ||
+ | </dependency> | ||
+ | <dependency> | ||
+ | <groupId>org.glassfish.jersey.inject</groupId> | ||
+ | <artifactId>jersey-hk2</artifactId> | ||
+ | <version>2.28</version> | ||
+ | </dependency> | ||
+ | <dependency> | ||
+ | <groupId>org.glassfish.jersey.core</groupId> | ||
+ | <artifactId>jersey-common</artifactId> | ||
+ | <version>2.28</version> | ||
+ | </dependency> | ||
+ | </source> | ||
+ | |||
+ | |||
+ | ===web.xml=== | ||
+ | |||
+ | <source lang="xml"> | ||
+ | ... | ||
+ | <!-- JSF servlet --> | ||
+ | <servlet> | ||
+ | <servlet-name>Faces Servlet</servlet-name> | ||
+ | <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> | ||
+ | <load-on-startup>1</load-on-startup> | ||
+ | </servlet> | ||
+ | |||
+ | <!-- Jersey servlet --> | ||
+ | <servlet> | ||
+ | <servlet-name>Jersey Service</servlet-name> | ||
+ | |||
+ | <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> | ||
+ | <init-param> | ||
+ | <param-name>jersey.config.server.provider.packages</param-name> | ||
+ | <param-value>hu.otp.auth.loginHelper.jaxrs.service</param-value> | ||
+ | </init-param> | ||
+ | |||
+ | <init-param> | ||
+ | <param-name>jersey.config.server.provider.classnames</param-name> | ||
+ | <param-value> | ||
+ | hu.otp.auth.loginHelper.jaxrs.mapper.AppExceptionMapper; | ||
+ | hu.otp.auth.loginHelper.jaxrs.mapper.ErrorMessage; | ||
+ | hu.otp.auth.loginHelper.jaxrs.mapper.WebServiceExceptionMapper | ||
+ | </param-value> | ||
+ | </init-param> | ||
+ | |||
+ | <load-on-startup>1</load-on-startup> | ||
+ | </servlet> | ||
+ | |||
+ | |||
+ | <servlet-mapping> | ||
+ | <servlet-name>Jersey Service</servlet-name> | ||
+ | <url-pattern>/rest/*</url-pattern> | ||
+ | </servlet-mapping> | ||
+ | |||
+ | <servlet-mapping> | ||
+ | <servlet-name>Faces Servlet</servlet-name> | ||
+ | <url-pattern>/faces/*</url-pattern> | ||
+ | </servlet-mapping> | ||
+ | <servlet-mapping> | ||
+ | <servlet-name>Faces Servlet</servlet-name> | ||
+ | <url-pattern>*.jsf</url-pattern> | ||
+ | </servlet-mapping> | ||
+ | <servlet-mapping> | ||
+ | <servlet-name>Faces Servlet</servlet-name> | ||
+ | <url-pattern>*.faces</url-pattern> | ||
+ | </servlet-mapping> | ||
+ | <servlet-mapping> | ||
+ | <servlet-name>Faces Servlet</servlet-name> | ||
+ | <url-pattern>*.xhtml</url-pattern> | ||
+ | </servlet-mapping> | ||
+ | </source> | ||
Jax-rs kliens: | Jax-rs kliens: | ||
− | <source lang="java | + | <source lang="java"> |
InitializeLoginResponse initializeLoginResponse = client.target(baseUrl).path("login").request(MediaType.APPLICATION_JSON) | InitializeLoginResponse initializeLoginResponse = client.target(baseUrl).path("login").request(MediaType.APPLICATION_JSON) | ||
Line 9: | Line 91: | ||
</source> | </source> | ||
+ | |||
+ | |||
+ | |||
+ | =JAX-RS kliens= |
Revision as of 11:50, 16 February 2019
JAX-RS szerver
Inicializálás
A JAX-RS szerver futtatásához el kell indítsuk a Jersy servlet-et a WEB alkalmazásunkban, ami kiválóan megfér más servlet-ek mellett, pl JSF. A Jersey servletnek meg fogjuk mondani, hogy milyen PATH tartozik hozzá, így minden más erőforrás kérés továbbra is a JSF servlet-hez fog beesni.
Maven dependenciák
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.28</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>2.28</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>2.28</version>
</dependency>
web.xml
...
<!-- JSF servlet -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Jersey servlet -->
<servlet>
<servlet-name>Jersey Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>hu.otp.auth.loginHelper.jaxrs.service</param-value>
</init-param>
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>
hu.otp.auth.loginHelper.jaxrs.mapper.AppExceptionMapper;
hu.otp.auth.loginHelper.jaxrs.mapper.ErrorMessage;
hu.otp.auth.loginHelper.jaxrs.mapper.WebServiceExceptionMapper
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
Jax-rs kliens:
InitializeLoginResponse initializeLoginResponse = client.target(baseUrl).path("login").request(MediaType.APPLICATION_JSON)
.post(Entity.json(initializeLoginRequest), InitializeLoginResponse.class);