关于 Jersey 配置

配置扫描类

import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.context.annotation.Configuration;

@Configuration
public class JerseyConfig extends ResourceConfig {

    public JerseyConfig() {
        // 设置要扫描的包路径,Jersey 会自动扫描该包及其子包下的资源类和提供器
        packages("com.example.demo.resource"); 

      
    }
}


或者下面这个

@Component
public class JerseyConfig extends ResourceConfig {

    public JerseyConfig(@Value("${jersey.scan.packages}") String scanPackages) {
        // 使用 application.properties 中配置的包路径
        packages(scanPackages);

        // 如果需要注册其他资源类或提供程序,可以在这里添加
        // 这里加入拦截器
        register(RestRequestFilter.class);
        register(RestResponseFilter.class);
    }
}

加入Rest 拦截器


@Provider
@Slf4j
public class RestRequestFilter implements ContainerRequestFilter {
    @Override
    public void filter(ContainerRequestContext requestContext) {

        UriInfo uriInfo = requestContext.getUriInfo();
        log.info("Rest Filter Url:{}",uriInfo.getAbsolutePath());
    }
}


@Provider
public class RestResponseFilter implements ContainerResponseFilter {
    @Override
    public void filter(ContainerRequestContext requestContext,
                       ContainerResponseContext responseContext) {

        responseContext.getHeaders().add("Access-Control-Allow-Origin", "*");
        responseContext.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
        responseContext.getHeaders().add("Access-Control-Allow-Headers", "Content-Type, Authorization");

    }
}

POM 配置

<dependencies>
    <!-- Spring Boot Starter Jersey -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jersey</artifactId>

# 如果 要用 jetty  需要加入  排除
        <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
    </dependency>
</dependencies>



          
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容