This sample's routing is 1 depth
req: /movies/inception/actors/DiCaprio/
res: json DiCaprio birth, DiCaprio hair color etc....
you want to configure rest api server in 2depth.
/movies/{variable}/actors/{variable}/
/movies/{movie_name}/actors/{actor_name}/
What should I do?
Thank you for reading.
you want to configure rest api server in 2depth.
/movies/{variable}/actors/{variable}/
/movies/{movie_name}/actors/{actor_name}/
What should I do?
You can use the Route attribute or HTTP verb templates to configure the route template and set parameters.
Code like this:
[Route("api/[controller]")]
[ApiController]
public class MoviesController : ControllerBase
{
[HttpGet("/movies/{movie_name}/actors/{actor_name}/")]
public IActionResult GetMovies(string movie_name, string actor_name)
{
return Ok($"Movies: {movie_name}, actor name: {actor_name}");
}
}
Or
[Route("api/[controller]")]
[ApiController]
public class MoviesController : ControllerBase
{
[Route("/movies/{movie_name}/actors/{actor_name}/")]
[HttpGet]
//[HttpGet("/movies/{movie_name}/actors/{actor_name}/")]
public IActionResult GetMovies(string movie_name, string actor_name)
{
return Ok($"Movies: {movie_name}, actor name: {actor_name}");
}
}
The result as below:
More detail information about routing, see Route templates and Attribute routing for REST APIs.