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:
Dynamic Web 3.0
Java 1.6 ve üzeri
JAX-RS
Struts
Web 2.0 Serverside
Ekran görüntüsü :
2- Ear MemberShip kısmına projenin Ear ismi yazılır. Ekran görüntüsü
3- WebServis classı oluşturulur.
package com.restWS;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/personel")
public class RestProcess {
@GET
public String welcomeMessage(){
return "Welcome to Our Flight Status Web Service";
}
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/list/{adet}")
public List<Personel> getPersonelList( @PathParam("adet") int adet){
List<Personel> list = new ArrayList<Personel>();
for(int i=0;i<adet;i++){
Personel p = new Personel();
p.setName("Ali-" + i);
p.setSurname("Senturk-"+i);
list.add(p);
}
return list;
}
}
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.
package com.restWS;
import java.util.Set;
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);
try {
Class jacksonProvider = Class.forName("org.codehaus.jackson.jaxrs.JacksonJsonProvider");
resources.add(jacksonProvider);
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
return resources;
}
}
@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.
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.restWS.RestConfig</param-value>
</init-param>
Yani IBMRestServlet tanımlaması aşağıdaki gibi olur.
<servlet>
<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>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value> com.restWS.RestConfig </param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
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.

















