__Scenario__:
User is trying to use UriPathExtensionMappings along with attribute routing. User would like to see the the appropriate information on the HelpPage(which uses ApiExplorer behind the scenes).
__Issue__:
For the following controller and actions, ApiExplorer does not return any descriptions.
```
[RoutePrefix("api/values")]
public class ValuesController : ApiController
{
[HttpGet("")]
[HttpGet("~/api/values.{ext}")]
public IEnumerable<string> GetAll1()
{
return new string[] { Configuration.Services.GetApiExplorer().ApiDescriptions.Count.ToString() };
}
[HttpGet("path1")]
[HttpGet("path2")]
public IEnumerable<string> GetAll2()
{
return new string[] { "value1", "value2" };
}
}
```
__NOTE__: While trying to repro the above issue, you might hit the # 865 for GetAll1 method.
__Attached__ a standalone katana selfhost repro.
__Expected__: count should be 4
__Actual__: count is 0
Comments: Doesn't repro anymore in the latest iteration. The ApiExplorer will return the expected descriptions. The updated attribute routing code look like this: ``` [RoutePrefix("api/values")] public class ValuesController : ApiController { [Route("")] [Route("~/api/values.{ext}")] public IEnumerable<string> GetAll1() { return new string[] { Configuration.Services.GetApiExplorer().ApiDescriptions.Count.ToString() }; } [Route("path1")] [Route("path2")] public IEnumerable<string> GetAll2() { return new string[] { "value1", "value2" }; } } ```
User is trying to use UriPathExtensionMappings along with attribute routing. User would like to see the the appropriate information on the HelpPage(which uses ApiExplorer behind the scenes).
__Issue__:
For the following controller and actions, ApiExplorer does not return any descriptions.
```
[RoutePrefix("api/values")]
public class ValuesController : ApiController
{
[HttpGet("")]
[HttpGet("~/api/values.{ext}")]
public IEnumerable<string> GetAll1()
{
return new string[] { Configuration.Services.GetApiExplorer().ApiDescriptions.Count.ToString() };
}
[HttpGet("path1")]
[HttpGet("path2")]
public IEnumerable<string> GetAll2()
{
return new string[] { "value1", "value2" };
}
}
```
__NOTE__: While trying to repro the above issue, you might hit the # 865 for GetAll1 method.
__Attached__ a standalone katana selfhost repro.
__Expected__: count should be 4
__Actual__: count is 0
Comments: Doesn't repro anymore in the latest iteration. The ApiExplorer will return the expected descriptions. The updated attribute routing code look like this: ``` [RoutePrefix("api/values")] public class ValuesController : ApiController { [Route("")] [Route("~/api/values.{ext}")] public IEnumerable<string> GetAll1() { return new string[] { Configuration.Services.GetApiExplorer().ApiDescriptions.Count.ToString() }; } [Route("path1")] [Route("path2")] public IEnumerable<string> GetAll2() { return new string[] { "value1", "value2" }; } } ```