2017-07-18 48 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){ 

} 
相關問題