Difference between revisions of "Jax-rs 2.0"

From berki WIKI
Jump to: navigation, search
(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" line start="2" highlight="4-6">
+
<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

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

		<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);


JAX-RS kliens