IBM WebSphare 8.5 için RESTFul WebService Yazımı
1- Yeni bir Web Projesi oluşturulur ve project facets olarak aşağıdakileri seçilir:
2- Ear MemberShip kısmına projenin Ear ismi yazılır. Ekran görüntüsü
3- WebServis classı oluşturulur.
import java.util.ArrayList;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
public class RestProcess {
public String welcomeMessage(){
return "Welcome to Our Flight Status Web Service";
@Produces(MediaType.APPLICATION_JSON)
public List<Personel> getPersonelList( @PathParam("adet") int adet){
List<Personel> list = new ArrayList<Personel>();
Personel p = new Personel();
p.setSurname("Senturk-"+i);
4- Application sınıfından türeyen bir RestConfig class oluşturulur ve önceki adımda yazılan process classı tanımlaması yapılır.
import javax.ws.rs.core.Application;
@javax.ws.rs.ApplicationPath("rest")
public class RestConfig extends Application {
public Set<Class<?>> getClasses() {
return getRestResourceClasses();
private Set<Class<?>> getRestResourceClasses() {
Set<Class<?>> resources = new java.util.HashSet<Class<?>>();
resources.add(RestProcess.class);
Class jacksonProvider = Class.forName("org.codehaus.jackson.jaxrs.JacksonJsonProvider");
resources.add(jacksonProvider);
} catch (ClassNotFoundException ex) {
@javax.ws.rs.ApplicationPath("rest")annotation’I içine web.xml dosyasındaki RestFul url pattern değeri yazılır.
5- Web.xml içindeki IBMRestServlet tanımlaması içine aşağıdaki satırlar ilave edilmeli.
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.restWS.RestConfig</param-value>
Yani IBMRestServlet tanımlaması aşağıdaki gibi olur.
<description>JAX-RS Tools Generated - Do not modify</description>
<servlet-name>JAX-RS Servlet </servlet-name>
<servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
<param-name>javax.ws.rs.Application</param-name>
<param-value> com.restWS.RestConfig </param-value>
<load-on-startup>1</load-on-startup>
6- Servisinin çağırlması:
http://localhost:9082/RestWS/rest/personel şeklinde çağırılında welcomeMessage() metodu çalışacaktır.
Belirtilen adet kadar personel listesi çekmek için aşağıdaki gibi çağırım yapılır. http://localhost:9082/RestWS/rest/personel/list/10 bu şekilde çağıldığında datalar JSON formatında gelecektir. Bunun sebebi de metodun üstüne @Produces(MediaType.APPLICATION_JSON) annotation’I eklenmesidir.
Eğer @Produces(MediaType.APPLICATION_XML) yazılırsa datalar XML formatında dönecektir.
Kaynak kodlar için tıklayınız.
Yazıyı pdf olarak indir.