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

@@ -188,8 +188,8 @@ public class RequestPartMethodArgumentResolver extends AbstractMessageConverterM
}
}
RequestPart ann = parameter.getParameterAnnotation(RequestPart.class);
boolean isRequired = ((ann == null || ann.required()) && !optional);
RequestPart requestPart = parameter.getParameterAnnotation(RequestPart.class);
boolean isRequired = ((requestPart == null || requestPart.required()) && !optional);
if (arg == null && isRequired) {
throw new MissingServletRequestPartException(partName);
@@ -209,8 +209,8 @@ public class RequestPartMethodArgumentResolver extends AbstractMessageConverterM
}
private String getPartName(MethodParameter methodParam) {
RequestPart ann = methodParam.getParameterAnnotation(RequestPart.class);
String partName = (ann != null ? ann.value() : "");
RequestPart requestPart = methodParam.getParameterAnnotation(RequestPart.class);
String partName = (requestPart != null ? requestPart.name() : "");
if (partName.length() == 0) {
partName = methodParam.getParameterName();
if (partName == null) {

View File

@@ -179,14 +179,13 @@ public class RequestPartIntegrationTests {
}
}
@SuppressWarnings("unused")
@Controller
private static class RequestPartTestController {
@RequestMapping(value = "/test", method = RequestMethod.POST, consumes = { "multipart/mixed", "multipart/form-data" })
public ResponseEntity<Object> create(@RequestPart("json-data") TestData testData,
public ResponseEntity<Object> create(@RequestPart(name = "json-data") TestData testData,
@RequestPart("file-data") MultipartFile file,
@RequestPart(value = "empty-data", required = false) TestData emptyData) {
@RequestPart(name = "empty-data", required = false) TestData emptyData) {
String url = "http://localhost:8080/test/" + testData.getName() + "/" + file.getOriginalFilename();
HttpHeaders headers = new HttpHeaders();