title: Adding Multiple GET verbs gives an error of AmbiguousMatchException
body: <p>I have a WebApi using .NET core 3.1. I'm not sure if this isn't best practice or if there's another way to do this. But, I have a WebApi that will have 3 get verbs. <br>
  1. Get All.<br> 
  2. Get by Id. <br>
  3. Get by a search string. </p>
  
  <p>It work if I have just 2, the get all and get by id but once I had a 3rd, get by string I get an error. Then when I go to test in swagger I get, </p>
  
  <blockquote>
    <p>Microsoft.AspNetCore.Routing.Matching.AmbiguousMatchException: The
    request matched multiple endpoints. Matches:</p>
  </blockquote>
  
  <p>Code:</p>
  
  <pre><code>[ApiController]
  [Route("api/v1/[controller]")]
  public class ProfessionalLocalController : ControllerBase
  {
      private IUnitOfWork _unitOfWork;
      private readonly IMapper _mapper;
  
      public ProfessionalLocalController(IUnitOfWork unitOfWork, IMapper mapper)
      {
          _unitOfWork = unitOfWork;
          _mapper = mapper;
      }
  
      [HttpGet]
      public async Task&lt;IActionResult&gt; Get()
      {
          var profLocals = await _unitOfWork.ProfessionalLocalUsers.GetAllAsync();
          return Ok(_mapper.Map&lt;IEnumerable&lt;ProfessionalLocalDto&gt;&gt;(profLocals));
      }
  
      [HttpGet("{id}")]
      public async Task&lt;IActionResult&gt; Get(int id)
      {
          var localUser = await _unitOfWork.ProfessionalLocalUsers.GetAsync(id);
          if (localUser == null)
          {
              return NotFound();
          }
  
          return Ok(_mapper.Map&lt;ProfessionalLocalDto&gt;(localUser));
      }
  
      [HttpGet("{searchText}", Name = "Search")]
      public async Task&lt;IActionResult&gt; Get(string searchText)
      {
          var localUsers = await _unitOfWork.ProfessionalLocalUsers.FindAsync(temp =&gt; temp.UserID.ToString().Contains(searchText));
  
          return Ok(_mapper.Map&lt;IEnumerable&lt;ProfessionalLocalDto&gt;&gt;(localUsers));
      }
  }
  </code></pre>