Introduce alias for 'value' attribute in @RequestPart

Issue: SPR-11393
This commit is contained in:
Sam Brannen
2015-05-31 16:32:45 +02:00
parent 034e0e2cf4
commit c55486d5d5
3 changed files with 24 additions and 13 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 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.
@@ -23,6 +23,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.core.annotation.AliasFor;
import org.springframework.core.convert.converter.Converter;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.multipart.MultipartFile;
@@ -30,7 +31,9 @@ import org.springframework.web.multipart.MultipartResolver;
/**
* Annotation that can be used to associate the part of a "multipart/form-data" request
* with a method argument. Supported method argument types include {@link MultipartFile}
* with a method argument.
*
* <p>Supported method argument types include {@link MultipartFile}
* in conjunction with Spring's {@link MultipartResolver} abstraction,
* {@code javax.servlet.http.Part} in conjunction with Servlet 3.0 multipart requests,
* or otherwise for any other method argument, the content of the part is passed through an
@@ -50,6 +53,7 @@ import org.springframework.web.multipart.MultipartResolver;
*
* @author Rossen Stoyanchev
* @author Arjen Poutsma
* @author Sam Brannen
* @since 3.1
*
* @see RequestParam
@@ -61,15 +65,23 @@ import org.springframework.web.multipart.MultipartResolver;
public @interface RequestPart {
/**
* The name of the part in the "multipart/form-data" request to bind to.
* Alias for {@link #name}.
*/
@AliasFor(attribute = "name")
String value() default "";
/**
* The name of the part in the "multipart/form-data" request to bind to.
* @since 4.2
*/
@AliasFor(attribute = "value")
String name() default "";
/**
* Whether the part is required.
* <p>Default is {@code true}, leading to an exception thrown in case
* of the part missing in the request. Switch this to {@code false}
* if you prefer a {@code null} in case of the part missing.
* <p>Default is {@code true}, leading to an exception being thrown
* in case the part is missing in the request. Switch this to
* {@code false} if you prefer a {@code null} if the part is missing.
*/
boolean required() default true;