Giriş
Şu satırı dahil ederiz..
packages metodu
Bu metod fat jar'lar için çalışmayabilir.
Örnek
Şöyle yaparız. Rest noktası olarak yüklenecek sınıfların bulunduğu paketi belirtir.
Örnek
Şöyle yaparız
Şöyle yaparız. Paket ismi belirtmek yerine direkt Rest noktasını belirten sınıfı belirtmek için kullanılır.
Şöyle yaparız.
Örnek
Elimizde şu kod olsun.
Şu satırı dahil ederiz..
import org.glassfish.jersey.server.ResourceConfig;
Bu sınıf javax.ws.rs.core.Application sınıfından kalıtır.packages metodu
Bu metod fat jar'lar için çalışmayabilir.
Örnek
Şöyle yaparız. Rest noktası olarak yüklenecek sınıfların bulunduğu paketi belirtir.
public class RestApplication extends ResourceConfig {
public RestApplication() {
register(new MyApplicationBinder());
packages(true, "com.mypackage.rest");
}
}
property metoduÖrnek
Şöyle yaparız
@Component
@ApplicationPath("/api")
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
register(JacksonJaxbJsonProvider.class);
packages("tech.aabo.celulascontentas.endpoint");
property(ServerProperties.BV_SEND_ERROR_IN_RESPONSE, true);
}
}
register metodu
ÖrnekŞöyle yaparız. Paket ismi belirtmek yerine direkt Rest noktasını belirten sınıfı belirtmek için kullanılır.
public class RestApplication extends ResourceConfig {
public RestApplication () {
register(FooEndpoint.class);
}
ÖrnekŞöyle yaparız.
package cn.cwhale.bowei;
import org.glassfish.jersey.internal.inject.AbstractBinder;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
import org.glassfish.jersey.process.internal.RequestScoped;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.server.spring.SpringLifecycleListener;
import org.glassfish.jersey.server.spring.scope.RequestContextFilter;
import org.springframework.web.filter.CommonsRequestLoggingFilter;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.container.ContainerRequestFilter;
@ApplicationPath("/api/*")
public class AppConfig extends ResourceConfig {
public AppConfig() {
register(MultiPartFeature.class); //jersey
register(SpringLifecycleListener.class); //jersey
register(RequestContextFilter.class); //jersey
register(ContainerRequestFilter.class); //jax-rs
register(CommonsRequestLoggingFilter.class);//spring
property("encoding", "utf-8");
}
}
register metodu ve AbstractBinderÖrnek
Elimizde şu kod olsun.
public class GeneralFormFactory implements Supplier<GeneralForm> {
@Override
public GeneralForm get() {
GeneralForm result = new GeneralForm();
return result;
}
}
Şöyle yaparız.register(new AbstractBinder() {
@Override
protected void configure() {
bindFactory(GeneralFormFactory.class).to(GeneralForm.class)
.proxy(true).proxyForSameScope(false).in(RequestScoped.class);
}
});
Hiç yorum yok:
Yorum Gönder