JBoss Seam 2.3'de restfull servisi yaratmak için aşağıdaki adımları sırayla yapmak yeterlidir :
jboss-seam-resteasy.jar ve jaxrs-api.jar jar'larını web projenizin lib'ine eklenmesi gerekir. jboss-seam-resteasy.jar dosyasını seam sdk'sının içinde lib klasürnde bulabilirsiniz.
components.xml'e deklarasyon bölümüne
xmlns:resteasy="http://jboss.com/products/seam/resteasy"
ve
xsi:schemaLocation attributes'inin içinde de
http://jboss.com/products/seam/resteasy
http://jboss.com/products/seam/resteasy-2.1.xsd
ifadelerini eklenmesi lazım. Bu bölüm konfigürasyon etmek istiyorsanız gereklidir.
web.xml'de aşağıdaki seam resource tanımlı olup olmadığı kontrol edilmelidir :
Seam Resource Servlet
org.jboss.seam.servlet.SeamResourceServlet
Seam Resource Servlet
/seam/resource/*
Yukarıdakiler tanımlanırsa bir restfull web servisi yazılabilir. Aşağıda örnek görülmektedir :
import javax.ws.rs.*;
import org.jboss.seam.annotations.Name;
@Name("categoryResource")
@Path("/category")
public class CategoryResource {
@GET
@Path("/{categoryId}")
@Produces("json/application")
public String getCategory(@PathParam("categoryId") int id) {
return "{\"hello\":"+id+"}";
}
}
Yukarıdaki örnekte kategory id'si verilen kategori için bir json dönüşü alınmaktadır.
Bu servis aşağıdaki url ile çağrılmaktadır :
http:///seam/resource/rest/category/1
şeklinde çağrıldığında getCategory methodu çağrılacaktır. Bu method cevap olarak bir json kodu döndürecektir. seam/resource seamr kaynakları için varsayılan tanımdır. /rest ise restfull servisleri için tanımlıdır. Bizim sınıfımızda path olarak /category vermemizden dolayı /seam/resource/rest/category şeklinde web servisine erişebilmektedir.