我尝试使用UriInfo获取请求参数列表,这是我的代码:
@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(); }
此代码导致此异常:org.springframework.beans.BeanInstantiationException:无法实例化[javax.ws.rs.core.UriInfo]:指定的类是接口
感谢帮助
这是因为UriInfo它不是Spring MVC对象。它是一个JAX-RS对象,您没有使用JAX-RS,而是使用Spring MVC。使用Spring MVC,如果只需要参数映射,则可以使用@RequestParam
UriInfo
@RequestParam
public Object getDocuments(@RequestParam MultiValueMap<String, String> requestParams)
注意,它MultiValueMap是一个Spring类,而不是JAX-RS MultivaluedMap。
MultiValueMap
MultivaluedMap