2017-07-18 20 views
0

我试图将我的应用程序从春季转换为springboot,我在springboot应用程序中的web服务参数中遇到问题。如何在springboot webservice中列出所有请求参数?

这是我的Spring应用程序:

@GET 
    @Path("/personels") 
    public Response getAllPersonels(@Context HttpHeaders headers, @Context Request request) { 

    String url = String.valueOf(((ContainerRequest) request).getRequestUri()); 
    System.out.println(url); 

    return Response.status(Status.OK).entity(new Personel()).type(MediaType.APPLICATION_XML).build(); 
    } 

这也是我的springboot应用:

@RequestMapping("/personels") 
public Response saveWebService(@Context HttpHeaders headers, @Context Request request) { 

    String url = String.valueOf(((ContainerRequest) request).getRequestUri()); 
    System.out.println(url); 

    return Response.status(Status.OK).entity(new Personel()).type(MediaType.APPLICATION_JSON).build(); 
} 

这里是springboot错误

{ 
    "timestamp": 1500382494978, 
    "status": 500, 
    "error": "Internal Server Error", 
    "exception": "org.springframework.beans.BeanInstantiationException", 
    "message": "Failed to instantiate [javax.ws.rs.core.HttpHeaders]: Specified class is an interface", 
    "path": "/personels/" 
} 

这些都只是范例,但在未来我将使用所有的请求参数(方法,头文件,实体,类型..)

有没有这个问题的注释?

+0

您在混合Spring MVC和Jax-RS。 '@ Path'和'@ Context'与Spring无关,它们是JAX-RS注释。 –

+2

您可以注入'HttpServletRequest'而不是'Request',并从中获取头文件 –

+0

是否有这个问题的注释?我只想获得所有字段的web请求 –

回答

0

问题是关于Jax-RS和spring mvc混合。我注意到了@M感谢。 Deinum和@Viswanath Lekshmanan

终于我改变了这样的方法参数;

@RequestMapping("/virtual") 
public Response saveWebService(HttpServletRequest request){ 

} 
相关问题