Is your feature request related to a problem? Please describe. upload Multiple File only one can upload

Describe the solution you'd like feign.form.spring.SpringFormEncoder#encode original:

@Override
  public void encode (Object object, Type bodyType, RequestTemplate template) throws EncodeException {
    if (bodyType.equals(MultipartFile[].class)) {
      val files = (MultipartFile[]) object;
      val data = new HashMap<String, Object>(files.length, 1.F);
      for (val file : files) {
        data.put(file.getName(), file);
      }
      super.encode(data, MAP_STRING_WILDCARD, template);
    } else if (bodyType.equals(MultipartFile.class)) {
      val file = (MultipartFile) object;
      val data = singletonMap(file.getName(), object);
      super.encode(data, MAP_STRING_WILDCARD, template);
    } else if (isMultipartFileCollection(object)) {
      val iterable = (Iterable<?>) object;
      val data = new HashMap<String, Object>();
      for (val item : iterable) {
        val file = (MultipartFile) item;
        data.put(file.getName(), file);
      }
      super.encode(data, MAP_STRING_WILDCARD, template);
    } else {
      super.encode(object, bodyType, template);
    }
  }

new:

@Override
    public void encode (Object object, Type bodyType, RequestTemplate template) throws EncodeException {
        if (bodyType.equals(MultipartFile[].class)) {
            val files = (MultipartFile[]) object;
            val data = Collections.singletonMap(files[0].getName(), object);
            super.encode(data, MAP_STRING_WILDCARD, template);
        } else if (bodyType.equals(MultipartFile.class)) {
            val file = (MultipartFile) object;
            val data = singletonMap(file.getName(), object);
            super.encode(data, MAP_STRING_WILDCARD, template);
        } else if (isMultipartFileCollection(object)) {
            val iterable = (Iterable<?>) object;
            val file =(MultipartFile) iterable.iterator().next();
            val data = Collections.singletonMap(file.getName(), object);
            super.encode(data, MAP_STRING_WILDCARD, template);
        } else {
            super.encode(object, bodyType, template);
        }
    }

Comment From: almirus

for example (upload two optional files: base64body, log) (controller) https://github.com/almirus/issueator/blob/d86e38500231bff3f7b5ef26d8e9680e956775a0/src/main/java/com/technology/issueator/controller/JiraController.java#L62

(service) https://github.com/almirus/issueator/blob/d86e38500231bff3f7b5ef26d8e9680e956775a0/src/main/java/com/technology/issueator/service/IssueService.java#L51

(feign client) https://github.com/almirus/issueator/blob/d86e38500231bff3f7b5ef26d8e9680e956775a0/src/main/java/com/technology/issueator/client/JiraClient.java#L24

Comment From: OlgaMaciaszek

@akai1223 Please learn how to properly format code and logs.

SpringFormEncoder is maintained in this repo. Any issues regarding regarding that encoder should be reported there. Therefore, closing this issue.