Introduce alias for 'value' attribute in @RequestHeader

Issue: SPR-11393
This commit is contained in:
Sam Brannen
2015-05-31 16:07:09 +02:00
parent c4c3ce796a
commit 25a5d9d759
4 changed files with 22 additions and 10 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2014 the original author or authors.
* Copyright 2002-2015 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,9 +22,12 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.core.annotation.AliasFor;
/**
* Annotation which indicates that a method parameter should be bound to a web request header.
* Supported for annotated handler methods in Servlet and Portlet environments.
*
* <p>Supported for annotated handler methods in Servlet and Portlet environments.
*
* <p>If the method parameter is {@link java.util.Map Map&lt;String, String&gt;} or
* {@link org.springframework.util.MultiValueMap MultiValueMap&lt;String, String&gt;},
@@ -32,6 +35,7 @@ import java.lang.annotation.Target;
* populated with all header names and values.
*
* @author Juergen Hoeller
* @author Sam Brannen
* @since 3.0
* @see RequestMapping
* @see RequestParam
@@ -45,10 +49,18 @@ import java.lang.annotation.Target;
public @interface RequestHeader {
/**
* The name of the request header to bind to.
* Alias for {@link #name}.
*/
@AliasFor(attribute = "name")
String value() default "";
/**
* The name of the request header to bind to.
* @since 4.2
*/
@AliasFor(attribute = "value")
String name() default "";
/**
* Whether the header is required.
* <p>Default is {@code true}, leading to an exception thrown in case

View File

@@ -267,7 +267,7 @@ public class HandlerMethodInvoker {
}
else if (RequestHeader.class.isInstance(paramAnn)) {
RequestHeader requestHeader = (RequestHeader) paramAnn;
headerName = requestHeader.value();
headerName = requestHeader.name();
required = requestHeader.required();
defaultValue = parseDefaultValueAttribute(requestHeader.defaultValue());
annotationsFound++;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2014 the original author or authors.
* Copyright 2002-2015 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -86,7 +86,7 @@ public class RequestHeaderMethodArgumentResolver extends AbstractNamedValueMetho
private static class RequestHeaderNamedValueInfo extends NamedValueInfo {
private RequestHeaderNamedValueInfo(RequestHeader annotation) {
super(annotation.value(), annotation.required(), annotation.defaultValue());
super(annotation.name(), annotation.required(), annotation.defaultValue());
}
}