title: Actions require unique method/path combination for Swagger
body: <p>I have 2 <code>HTTP GET</code> method in same controller and give me this error</p>
  
  <blockquote>
    <p>HTTP method "GET" &amp; path "api/DataStore" overloaded by actions - DPK.HostApi.Controllers.DataStoreController.GetByIdAsync (DPK.HostApi),DPK.HostApi.Controllers.DataStoreController.GetAllAsync (DPK.HostApi). Actions require unique method/path combination for Swagger 2.0. </p>
  </blockquote>
  
  <p>My Controller :</p>
  
  <pre><code>[Route("api/[controller]")]
  [ApiController]
  public class DataStoreController : ApiControllerBase
  {
      private readonly IDataStoreService _dataStoreService;
  
      public DataStoreController(IDataStoreService dataStoreService)
      {
          _dataStoreService = dataStoreService;
      }
  
  
      [HttpPost]
      public async Task&lt;IActionResult&gt; PostAsync([FromBody] DataStoreCommand dataStoreCommand)
      {
          try
          {
              if (ModelState.IsValid)
              {
                  await _dataStoreService.PostAsync(dataStoreCommand);
                  return Ok();
              }
  
              var errorList = ModelState.Values.SelectMany(m =&gt; m.Errors).Select(e =&gt; e.ErrorMessage).ToList();
              return ValidationProblem();
          }
          catch (Exception e)
          {
              Console.WriteLine(e);
              throw;
          }
      }
  
  
      [HttpPut]
      public async Task&lt;IActionResult&gt; PutAsync([FromBody] DataStoreCommand dataStoreCommand)
      {
          try
          {
              if (ModelState.IsValid)
              {
                  await _dataStoreService.PutAsync(dataStoreCommand);
                  return Ok();
              }
  
              var errorList = ModelState.Values.SelectMany(m =&gt; m.Errors).Select(e =&gt; e.ErrorMessage).ToList();
              return ValidationProblem();
          }
          catch (Exception e)
          {
              Console.WriteLine(e);
              throw;
          }
      }
  
  
      [HttpDelete]
      public async Task&lt;IActionResult&gt; DeleteAsync(int id)
      {
          try
          {
              if (ModelState.IsValid)
              {
                  var item = await _dataStoreService.GetByIdAsync(id);
                  await _dataStoreService.DeleteAsync(item);
                  return Ok();
              }
  
              var errorList = ModelState.Values.SelectMany(m =&gt; m.Errors).Select(e =&gt; e.ErrorMessage).ToList();
              return ValidationProblem();
          }
          catch (Exception e)
          {
              Console.WriteLine(e);
              throw;
          }
      }
  
  
      [HttpGet]
      public async Task&lt;DataStoreQuery&gt; GetByIdAsync(int id)
      {
          try
          {
              return await _dataStoreService.GetByIdAsync(id);
          }
          catch (Exception e)
          {
              Console.WriteLine(e);
              throw;
          }
      }
  
  
  
  
  
      [HttpGet]
      public async Task&lt;IEnumerable&lt;DataStoreQuery&gt;&gt; GetAllAsync(string instanceName, string dbname, string userName, string userPass, bool isActive, DateTime? startCreatedDate, DateTime? endCreatedDate, DateTime? startModifiedDate, DateTime? endModifiedDate)
      {
          object[] parameters = { instanceName, dbname, userName, userPass, isActive, startCreatedDate, endCreatedDate, startModifiedDate,  endModifiedDate};
          var parameterName = "@instanceName , @dbname , @userName , @userPass , @isActive , @startCreatedDate , @endCreatedDate , @startModifiedDate , @endModifiedDate";
          try
          {
              return await _dataStoreService.ExecWithStoreProcedure(parameterName, parameters);
          }
          catch (Exception e)
          {
              Console.WriteLine(e);
              throw;
          }
      }
  
  
  
  
  }
  </code></pre>
  
  <p>My Startup :</p>
  
  <pre><code>public class Startup
  {
      public Startup(IConfiguration configuration)
      {
          Configuration = configuration;
      }
  
      public IConfiguration Configuration { get; }
  
      // This method gets called by the runtime. Use this method to add services to the container.
      public void ConfigureServices(IServiceCollection services)
      {
          services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
  
          services.AddSwaggerGen(c =&gt;
          {
              c.SwaggerDoc("v1", new Info
              {
                  Version = "v1",
                  Title = " ",
                  Description = " ",
                  TermsOfService = "None",
                  Contact = new Contact() { Name = " ", Email = " ", Url = " " }
              });
          });
      }
  
      // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
      public void Configure(IApplicationBuilder app, IHostingEnvironment env)
      {
          if (env.IsDevelopment())
          {
              app.UseDeveloperExceptionPage();
          }
  
          app.UseMvc();
  
  
          app.UseSwagger();
          app.UseSwaggerUI(c =&gt;
          {
              c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
          });
      }
  }
  </code></pre>