Home > database >  How to add "api" prefix to every end point in an asp .net core web API
How to add "api" prefix to every end point in an asp .net core web API

Time:08-17

I need to automatically add api/ prefix to every end point in my asp .net core web API. How to do that?

CodePudding user response:

Make your controller constructor with Route Prefix "api/"

For example lets say your controller class name is CustomerController

[Route("api/[controller]")]
public class CustomerController : ControllerBase
{

}

// This will become api/customer
[HttpGet]
public async Task<ActionResult> GetCustomers()
{
   // Code to get Customers
}

// This will become api/customer/{id}
[HttpGet]
[Route("{id}")]
public async Task<ActionResult> GetCustomerById(int id)
{
   // Code to get Customer by Id
}
    

CodePudding user response:

we can simply add that in top of the controller like this

[Route("api/[controller]")]
public class TestController : ControllerBase
{
    [HttpGet("version")]
    public IActionResult Get()
    {
        return new OkObjectResult("Version One");
    }
   [HttpGet("Types")]
    public IActionResult GetTypes()
    {
        return new OkObjectResult("Type One");
    }
}

so that you can access like below

....api/Test/version
....api/Test/Types
  • Related