小编use*_*465的帖子

处理HttpServletResponse时运行JerseyTest的问题

这是一个示例Resource类:

@Path("/resource") 
public class SomeResource { 
    @GET 
    @Produces({MediaType.APPLICATION_XML}) 
    public String someMethod(@QueryParam("param1") String param1, ..., @Context HttpServletRequest request) { 
            String remoteUser = request.getRemoteAddr(); 
            // Business logic here. 
            return response; 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

而JerseyTest的资源:

public class TestSomeResource extends JerseyTest    { 
    @Override 
    protected Application configure() { 
            enable(TestProperties.LOG_TRAFFIC); 
            return new ResourceConfig(SomeResource.class); 
    } 

    @Test 
    public void testXMLResponse()   { 
            String response = target("resource") 
                            .queryParam("param1", param1) 
                            // More parameters here. 
                            .request() 
                            .accept(MediaType.APPLICATION_XML) 
                            .get(String.class); 
            // Some assertions on response. 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

除了@Context HttpServletRequest用作输入参数的资源外,我能够为所有其他资源运行泽西测试.它给了一个InternalServerErrorException: HTTP 500 Internal …

java rest jax-rs jersey java-ee

16
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×1

java-ee ×1

jax-rs ×1

jersey ×1

rest ×1