code: protected boolean canConsume(RouteContext routeContext) {
          Set<String> contentTypes = getContentTypes(routeContext.getRequest());
  
          if (!declaredConsumes.isEmpty()) {
              if (declaredConsumes.contains(Consumes.ALL)) {
                  log.debug("{} will handle Request because it consumes '{}'", LangUtils.toString(controllerMethod), Consumes.ALL);
                  return true;
              }
  
              Set<String> types = new LinkedHashSet<>(contentTypes);
              if (types.isEmpty()) {
                  // request does not specify a Content-Type so add Accept type(s)
                  types.addAll(getAcceptTypes(routeContext.getRequest()));
  
                  // request can handle any type, so consume the Request
                  if (types.contains("*") || types.contains("*/*")) {
                      log.debug("{} will handle Request because it consumes '{}'", LangUtils.toString(controllerMethod), "*/*");
                      return true;
                  }
              }
  
              for (String type : types) {
                  if (declaredConsumes.contains(type)) {
                      // explicit content-type match
                      log.debug("{} will handle Request because it consumes '{}'", LangUtils.toString(controllerMethod), type);
                      return true;
                  } else {
                      // look for a fuzzy content-type match
                      for (String declaredType : declaredConsumes) {
                          int fuzz = declaredType.indexOf('*');
                          if (fuzz > -1) {
                              String fuzzyType = declaredType.substring(0, fuzz);
                              if (type.startsWith(fuzzyType)) {
                                  log.debug("{} will handle Request because it consumes '{}'", LangUtils.toString(controllerMethod), type);
                                  return true;
                              }
                          }
                      }
                  }
              }
  
              if (types.isEmpty()) {
                  log.warn("{} can not handle Request because neither 'Accept' nor 'Content-Type' are set and Route @Consumes '{}'",
                      LangUtils.toString(controllerMethod), declaredConsumes);
              } else {
                  log.warn("{} can not handle Request for '{}' because Route @Consumes '{}'", LangUtils.toString(controllerMethod),
                          types, declaredConsumes);
              }
              return false;
          }
  
          return true;
      }
docs: Determines if the incoming request is sending content this route understands.
  
  @param routeContext
  @return true if the route handles the request accept/content-type