弹簧罐';t在rest服务中实例化UriInfo
我尝试使用UriInfo获取请求参数列表,以下是我的代码:弹簧罐';t在rest服务中实例化UriInfo,rest,spring-boot,jax-rs,Rest,Spring Boot,Jax Rs,我尝试使用UriInfo获取请求参数列表,以下是我的代码: @RestController public class MyController { @RequestMapping(value = "/documents", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET) public Object getDocuments( @Context UriInfo uriInfo, @Reques
@RestController public class MyController {
@RequestMapping(value = "/documents", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
public Object getDocuments( @Context UriInfo uriInfo,
@RequestParam(value = "sta", required = false) String param1, @RequestParam(value = "sta2", required = false) String param2){
MultivaluedMap<String, String> queryParamList = uriInfo.getQueryParameters();
}
@RestController公共类MyController{
@RequestMapping(value=“/documents”,products=MediaType.APPLICATION\u JSON\u value,method=RequestMethod.GET)
公共对象getDocuments(@Context UriInfo UriInfo,
@RequestParam(value=“sta”,required=false)字符串参数1,@RequestParam(value=“sta2”,required=false)字符串参数2){
多值Map queryParamList=uriInfo.getQueryParameters();
}
此代码导致此异常:
org.springframework.beans.beans实例化异常:未能实例化[javax.ws.rs.core.UriInfo]:指定的类是接口
感谢您的帮助这是因为
UriInfo
不是一个Spring MVC对象。它是一个JAX-RS对象,您没有使用JAX-RS,您正在使用Spring MVC。对于Spring MVC,如果您只需要参数映射,您可以将其注入@RequestParam
public Object getDocuments(@RequestParam MultiValueMap<String, String> requestParams)
公共对象getDocuments(@RequestParam多值映射requestParams)
注意,MultiValueMap
是一个Spring类,它不是JAX-RSMultivaluedMap
另请参见: