Java Code Examples for org.springframework.util.MultiValueMap#toSingleValueMap()
The following examples show how to use
org.springframework.util.MultiValueMap#toSingleValueMap() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: RequestParamMapMethodArgumentResolver.java From netty-websocket-spring-boot-starter with Apache License 2.0 | 6 votes |
@Override public Object resolveArgument(MethodParameter parameter, Channel channel, Object object) throws Exception { RequestParam ann = parameter.getParameterAnnotation(RequestParam.class); String name = ann.name(); if (name.isEmpty()) { name = parameter.getParameterName(); if (name == null) { throw new IllegalArgumentException( "Name for argument type [" + parameter.getNestedParameterType().getName() + "] not available, and parameter name information not found in class file either."); } } if (!channel.hasAttr(REQUEST_PARAM)) { QueryStringDecoder decoder = new QueryStringDecoder(((FullHttpRequest) object).uri()); channel.attr(REQUEST_PARAM).set(decoder.parameters()); } Map<String, List<String>> requestParams = channel.attr(REQUEST_PARAM).get(); MultiValueMap multiValueMap = new LinkedMultiValueMap(requestParams); if (MultiValueMap.class.isAssignableFrom(parameter.getParameterType())) { return multiValueMap; } else { return multiValueMap.toSingleValueMap(); } }
Example 2
Source File: MatrixVariableMapMethodArgumentResolver.java From spring-analysis-note with MIT License | 5 votes |
@Nullable @Override public Object resolveArgumentValue(MethodParameter parameter, BindingContext bindingContext, ServerWebExchange exchange) { Map<String, MultiValueMap<String, String>> matrixVariables = exchange.getAttribute(HandlerMapping.MATRIX_VARIABLES_ATTRIBUTE); if (CollectionUtils.isEmpty(matrixVariables)) { return Collections.emptyMap(); } MultiValueMap<String, String> map = new LinkedMultiValueMap<>(); MatrixVariable annotation = parameter.getParameterAnnotation(MatrixVariable.class); Assert.state(annotation != null, "No MatrixVariable annotation"); String pathVariable = annotation.pathVar(); if (!pathVariable.equals(ValueConstants.DEFAULT_NONE)) { MultiValueMap<String, String> mapForPathVariable = matrixVariables.get(pathVariable); if (mapForPathVariable == null) { return Collections.emptyMap(); } map.putAll(mapForPathVariable); } else { for (MultiValueMap<String, String> vars : matrixVariables.values()) { vars.forEach((name, values) -> { for (String value : values) { map.add(name, value); } }); } } return (isSingleValueMap(parameter) ? map.toSingleValueMap() : map); }
Example 3
Source File: RequestParamMapMethodArgumentResolver.java From spring-analysis-note with MIT License | 5 votes |
@Override public Object resolveArgumentValue( MethodParameter methodParameter, BindingContext context, ServerWebExchange exchange) { boolean isMultiValueMap = MultiValueMap.class.isAssignableFrom(methodParameter.getParameterType()); MultiValueMap<String, String> queryParams = exchange.getRequest().getQueryParams(); return (isMultiValueMap ? queryParams : queryParams.toSingleValueMap()); }
Example 4
Source File: MatrixVariableMapMethodArgumentResolver.java From spring-analysis-note with MIT License | 5 votes |
@Override @Nullable public Object resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest request, @Nullable WebDataBinderFactory binderFactory) throws Exception { @SuppressWarnings("unchecked") Map<String, MultiValueMap<String, String>> matrixVariables = (Map<String, MultiValueMap<String, String>>) request.getAttribute( HandlerMapping.MATRIX_VARIABLES_ATTRIBUTE, RequestAttributes.SCOPE_REQUEST); if (CollectionUtils.isEmpty(matrixVariables)) { return Collections.emptyMap(); } MultiValueMap<String, String> map = new LinkedMultiValueMap<>(); MatrixVariable ann = parameter.getParameterAnnotation(MatrixVariable.class); Assert.state(ann != null, "No MatrixVariable annotation"); String pathVariable = ann.pathVar(); if (!pathVariable.equals(ValueConstants.DEFAULT_NONE)) { MultiValueMap<String, String> mapForPathVariable = matrixVariables.get(pathVariable); if (mapForPathVariable == null) { return Collections.emptyMap(); } map.putAll(mapForPathVariable); } else { for (MultiValueMap<String, String> vars : matrixVariables.values()) { vars.forEach((name, values) -> { for (String value : values) { map.add(name, value); } }); } } return (isSingleValueMap(parameter) ? map.toSingleValueMap() : map); }
Example 5
Source File: MatrixVariableMapMethodArgumentResolver.java From java-technology-stack with MIT License | 5 votes |
@Nullable @Override public Object resolveArgumentValue(MethodParameter parameter, BindingContext bindingContext, ServerWebExchange exchange) { Map<String, MultiValueMap<String, String>> matrixVariables = exchange.getAttribute(HandlerMapping.MATRIX_VARIABLES_ATTRIBUTE); if (CollectionUtils.isEmpty(matrixVariables)) { return Collections.emptyMap(); } MultiValueMap<String, String> map = new LinkedMultiValueMap<>(); MatrixVariable annotation = parameter.getParameterAnnotation(MatrixVariable.class); Assert.state(annotation != null, "No MatrixVariable annotation"); String pathVariable = annotation.pathVar(); if (!pathVariable.equals(ValueConstants.DEFAULT_NONE)) { MultiValueMap<String, String> mapForPathVariable = matrixVariables.get(pathVariable); if (mapForPathVariable == null) { return Collections.emptyMap(); } map.putAll(mapForPathVariable); } else { for (MultiValueMap<String, String> vars : matrixVariables.values()) { vars.forEach((name, values) -> { for (String value : values) { map.add(name, value); } }); } } return (isSingleValueMap(parameter) ? map.toSingleValueMap() : map); }
Example 6
Source File: RequestParamMapMethodArgumentResolver.java From java-technology-stack with MIT License | 5 votes |
@Override public Object resolveArgumentValue( MethodParameter methodParameter, BindingContext context, ServerWebExchange exchange) { boolean isMultiValueMap = MultiValueMap.class.isAssignableFrom(methodParameter.getParameterType()); MultiValueMap<String, String> queryParams = exchange.getRequest().getQueryParams(); return (isMultiValueMap ? queryParams : queryParams.toSingleValueMap()); }
Example 7
Source File: MatrixVariableMapMethodArgumentResolver.java From java-technology-stack with MIT License | 5 votes |
@Override @Nullable public Object resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest request, @Nullable WebDataBinderFactory binderFactory) throws Exception { @SuppressWarnings("unchecked") Map<String, MultiValueMap<String, String>> matrixVariables = (Map<String, MultiValueMap<String, String>>) request.getAttribute( HandlerMapping.MATRIX_VARIABLES_ATTRIBUTE, RequestAttributes.SCOPE_REQUEST); if (CollectionUtils.isEmpty(matrixVariables)) { return Collections.emptyMap(); } MultiValueMap<String, String> map = new LinkedMultiValueMap<>(); MatrixVariable ann = parameter.getParameterAnnotation(MatrixVariable.class); Assert.state(ann != null, "No MatrixVariable annotation"); String pathVariable = ann.pathVar(); if (!pathVariable.equals(ValueConstants.DEFAULT_NONE)) { MultiValueMap<String, String> mapForPathVariable = matrixVariables.get(pathVariable); if (mapForPathVariable == null) { return Collections.emptyMap(); } map.putAll(mapForPathVariable); } else { for (MultiValueMap<String, String> vars : matrixVariables.values()) { vars.forEach((name, values) -> { for (String value : values) { map.add(name, value); } }); } } return (isSingleValueMap(parameter) ? map.toSingleValueMap() : map); }
Example 8
Source File: MatrixVariableMapMethodArgumentResolver.java From lams with GNU General Public License v2.0 | 5 votes |
@Override public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest request, WebDataBinderFactory binderFactory) throws Exception { @SuppressWarnings("unchecked") Map<String, MultiValueMap<String, String>> matrixVariables = (Map<String, MultiValueMap<String, String>>) request.getAttribute( HandlerMapping.MATRIX_VARIABLES_ATTRIBUTE, RequestAttributes.SCOPE_REQUEST); if (CollectionUtils.isEmpty(matrixVariables)) { return Collections.emptyMap(); } MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>(); String pathVariable = parameter.getParameterAnnotation(MatrixVariable.class).pathVar(); if (!pathVariable.equals(ValueConstants.DEFAULT_NONE)) { MultiValueMap<String, String> mapForPathVariable = matrixVariables.get(pathVariable); if (mapForPathVariable == null) { return Collections.emptyMap(); } map.putAll(mapForPathVariable); } else { for (MultiValueMap<String, String> vars : matrixVariables.values()) { for (String name : vars.keySet()) { for (String value : vars.get(name)) { map.add(name, value); } } } } return (isSingleValueMap(parameter) ? map.toSingleValueMap() : map); }