İpucu

Java'da Jersey API'si ile RESTful Servisi (Kaynağı) Yaratma ve Çağırma

Java'da RESTful servisi geliştirmek için Jersey API kullanılmaktadır. Öncelikle bir web projesi yapılmalı ve aşağıdaki jar'lar eklenmelidir :
  • asm.jar
  • jersey-core.jar
  • jersey-server.jar
  • jersey-servlet.jar
Eğer maven kullanıyor ise artifactId'si jersey-servlet için bağımlılıkların pom.xml'e eklenmesi yeterlidir : 
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.14</version>
</dependency>
RESTful isteklerini işlenebilmesi için ServletContainer eklenmesi gerekir. Bunun için web.xml'e aşağıdaki Servlet eklenmelidir :
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.test</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
com.sun.jersey.spi.container.servlet.ServletContainer sınıfı RESTful servislerine gelen istekleri işlemek için gereklidir. com.sun.jersey.config.property.packages özelliği ise web servislerin (daha doğrusu root resource'ların) bulunacağı paket verilmektedir. url-pattern ile /rest/* şeklinde URL'ler rest servisi olarak kabul edilecek ve uygun servis (root resource) aranacaktır
Aşağıdaki gibi bir root resource (kök kaynağı) class'ı yaratabiliriz : 
package com.test;
import javax.ws.rs.*;
@Path("/helloworld")
public class HelloWorldResource {
 @GET 
 @Produces("text/plain")
 public String getClichedMessage() {
   return "Hello World";
 
 }
}
Yukarıda helloworld path'i ile erişilebilecek bir RESTful servisi yaratılmıştır. Servis GET metodu ile çağrıldığında getClichedMessage fonkisyonu çağrılacaktır ve cevap text olarak geri dönecektir. web.xml'de /rest ile path'i verildiği için helloworld servisinin çağrılması için http://://rest/helloworld ile (Eğer 8080 portu ile localhost'ta deniyorsanız adres http://localhost:8080//rest/helloworldşeklinde olacaktır) adresi çağrımlası gerekecektir.
com.test paketi içinde olması gerekmektedir. Aşağıda ana paket belirtilmiştir :
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.test</param-value>
</init-param>
zafer.teker , 02.11.2016

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir

Misafir Yorumları




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir