Java 如何使用org.glassfish.Jersey实现Jersey ContainerRequest示例

Java 如何使用org.glassfish.Jersey实现Jersey ContainerRequest示例,java,jersey,Java,Jersey,我遇到了一些编码问题,正在尝试实现这段代码……但是需要使用org.glassfish.jersey,类结构看起来非常不同 非常感谢您的建议,但我甚至无法在我依赖的jersey包结构中找到ContainerResponseFilter,其他依赖项似乎也在其中 import org.glassfish.jersey.server.ContainerRequest; import org.glassfish.jersey.server.ContainerResponse; 不是示例中的spi包 我

我遇到了一些编码问题,正在尝试实现这段代码……但是需要使用org.glassfish.jersey,类结构看起来非常不同

非常感谢您的建议,但我甚至无法在我依赖的jersey包结构中找到ContainerResponseFilter,其他依赖项似乎也在其中

import org.glassfish.jersey.server.ContainerRequest;
import org.glassfish.jersey.server.ContainerResponse;
不是示例中的spi包

我的pom如下所示:

<!-- JAX-RS Dependencies -->
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.0</version>
        </dependency>

        <!-- JAX-RS application servlet -->
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
            <version>${jersey.version}</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-server</artifactId>
            <version>${jersey.version}</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-moxy</artifactId>
            <version>${jersey.version}</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.ext</groupId>
            <artifactId>jersey-bean-validation</artifactId>
            <version>${jersey.version}</version>
        </dependency>

        <!-- Jersey Spring bridge to allow spring resources to be used from REST resources -->
        <dependency>
            <groupId>org.glassfish.jersey.ext</groupId>
            <artifactId>jersey-spring3</artifactId>
            <version>${jersey.version}</version>
        </dependency>
package com.mycompany.misf.filters;

import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerResponseContext;
import javax.ws.rs.container.ContainerResponseFilter;
import javax.ws.rs.core.MediaType;


public class HeaderResponseFilter implements ContainerResponseFilter {

        public void filter(ContainerRequestContext request, ContainerResponseContext response) {
            MediaType type = response.getMediaType();
            if (type != null) {
                String contentType = type.toString();
                if (!contentType.contains("charset")) {
                    contentType = contentType + ";charset=utf-8";
                    response.getHeaders().putSingle("Content-Type", contentType);
                }
            }
        }
}

javax.ws.rs
javax.ws.rs-api
2
org.glassfish.jersey.containers
jersey容器servlet
${jersey.version}
org.glassfish.jersey.core
泽西服务器
${jersey.version}
org.glassfish.jersey.media
泽西媒体公司
${jersey.version}
org.glassfish.jersey.ext
泽西豆验证
${jersey.version}
org.glassfish.jersey.ext
泽西-斯普林3
${jersey.version}
谢谢

我是这样做的:

<!-- JAX-RS Dependencies -->
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.0</version>
        </dependency>

        <!-- JAX-RS application servlet -->
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
            <version>${jersey.version}</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-server</artifactId>
            <version>${jersey.version}</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-moxy</artifactId>
            <version>${jersey.version}</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.ext</groupId>
            <artifactId>jersey-bean-validation</artifactId>
            <version>${jersey.version}</version>
        </dependency>

        <!-- Jersey Spring bridge to allow spring resources to be used from REST resources -->
        <dependency>
            <groupId>org.glassfish.jersey.ext</groupId>
            <artifactId>jersey-spring3</artifactId>
            <version>${jersey.version}</version>
        </dependency>
package com.mycompany.misf.filters;

import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerResponseContext;
import javax.ws.rs.container.ContainerResponseFilter;
import javax.ws.rs.core.MediaType;


public class HeaderResponseFilter implements ContainerResponseFilter {

        public void filter(ContainerRequestContext request, ContainerResponseContext response) {
            MediaType type = response.getMediaType();
            if (type != null) {
                String contentType = type.toString();
                if (!contentType.contains("charset")) {
                    contentType = contentType + ";charset=utf-8";
                    response.getHeaders().putSingle("Content-Type", contentType);
                }
            }
        }
}