code: def _print_routes(api_provider, host, port):
          
          grouped_api_configs = {}
  
          for api in api_provider.get_all():
              key = "{}-{}".format(api.function_name, api.path)
  
              config = grouped_api_configs.get(key, {})
              config.setdefault("methods", [])
  
              config["function_name"] = api.function_name
              config["path"] = api.path
              config["methods"].append(api.method)
  
              grouped_api_configs[key] = config
  
          print_lines = []
          for _, config in grouped_api_configs.items():
              methods_str = "[{}]".format(', '.join(config["methods"]))
              output = "Mounting {} at http://{}:{}{} {}".format(
                           config["function_name"],
                           host,
                           port,
                           config["path"],
                           methods_str)
              print_lines.append(output)
  
              LOG.info(output)
  
          return print_lines
docs: Helper method to print the APIs that will be mounted. This method is purely for printing purposes.
          This method takes in a list of Route Configurations and prints out the Routes grouped by path.
          Grouping routes by Function Name + Path is the bulk of the logic.
  
          Example output:
              Mounting Product at http://127.0.0.1:3000/path1/bar [GET, POST, DELETE]
              Mounting Product at http://127.0.0.1:3000/path2/bar [HEAD]
  
          :param samcli.commands.local.lib.provider.ApiProvider api_provider: API Provider that can return a list of APIs
          :param string host: Host name where the service is running
          :param int port: Port number where the service is running
          :returns list(string): List of lines that were printed to the console. Helps with testing