Java 如何在springboot webservice中列出所有请求参数?
我正在尝试将我的应用程序从spring转换为springboot,springboot应用程序中的web服务参数有问题 这是我的spring应用程序:Java 如何在springboot webservice中列出所有请求参数?,java,spring,web-services,rest,spring-boot,Java,Spring,Web Services,Rest,Spring Boot,我正在尝试将我的应用程序从spring转换为springboot,springboot应用程序中的web服务参数有问题 这是我的spring应用程序: @GET @Path("/personels") public Response getAllPersonels(@Context HttpHeaders headers, @Context Request request) { String url = String.valueOf(((ContainerReq
@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();
}
@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应用程序:
@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();
}
@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/"
}
这些只是示例,但将来我将使用所有请求参数(方法、头、实体、类型..)
这个问题有注释吗?问题是关于Jax RS和spring mvc的混合。多亏了迪纳姆先生和莱克什曼,我才注意到这一点 最后,我改变了这样的方法参数
@RequestMapping("/virtual")
public Response saveWebService(HttpServletRequest request){
}
您正在混合使用Spring MVC和Jax-RS。
@Path
和@Context
与Spring无关,这些都是Jax-RS注释。您可以插入HttpServletRequest
而不是Request
,并从中获取标题。是否有针对此问题的注释?我只想通过HttpServletRequest
获取web请求的所有字段,您可以访问完整的请求。您不需要注释,只需将其添加为方法参数,就可以得到对象(当然,只有在清理项目之后)谢谢,我更改了代码。现在已经成功了。