Giriş
Şu satırı dahil ederiz.
Şöyle yaparız. Rest sınıflarımız ApplicationConfig ile aynı pakette bulunursa daha iyi olur.
Hiçbir metodu override etmemenin açıklaması şöyle. Yani @Path ile işaretli tüm sınıfları yükler.
getClasses metodu
Bu kod yerine niçin otomatik olarak sınıflar bulunmuyor bilmiyorum.
Örnek
Şöyle yaparız.
Şöyle yaparız.
getSingletons metodu
Örnek ver
Şu satırı dahil ederiz.
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
Eğer kullandığımız container Servlet 3.0'ı desteklemiyorsa yani eski Tomcat ise şu satırı dahil ederiz.<dependency>
<groupId>org.glassfish.jersey.bundles</groupId>
<artifactId>jaxrs-ri</artifactId>
<version>2.13</version>
</dependency>
İskeletŞöyle yaparız. Rest sınıflarımız ApplicationConfig ile aynı pakette bulunursa daha iyi olur.
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("rest")
public class ApplicationConfig extends Application{
}
Bu sınıfı kalıtan sınıflardan birisi Jersey ResourceConfig sınıfı.Hiçbir metodu override etmemenin açıklaması şöyle. Yani @Path ile işaretli tüm sınıfları yükler.
You can fully leverage the servlet class scanning abilities if you have both getClasses() and getSingletons() return an empty set.
...
When scanning, the application server will look within WEB-INF/classes and any JAR file within the WEB-INF/lib directory. It will add any class annotated with @Path or @Provider to the list of things that need to be deployed and registered with the JAX-RS runtime. You can also deploy as many Application classes as you want in one WAR. The scanner will also ignore any Application classes not annotated with @ApplicationPath.
getClasses metodu
Bu kod yerine niçin otomatik olarak sınıflar bulunmuyor bilmiyorum.
Örnek
Şöyle yaparız.
@ApplicationPath("/itemapi")
public class MyApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> classes = new HashSet<Class<?>>();
classes.add(tr.com.foo.bar.MyResource.class);
...
return classes;
}
}
ÖrnekŞöyle yaparız.
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new java.util.HashSet<>();
resources.add(my.foo.bar.MyService.class);
return resources;
}
getSingletons metodu
Örnek ver
Hiç yorum yok:
Yorum Gönder