What does it mean for an API to be discoverable? (With C# ASP.NET Core Web API example)
Discoverability means clients can navigate and learn available actions through metadata
or hypermedia links, without hardcoding routes.
👉 Example using HATEOAS in ASP.NET Core Web API:
[HttpGet("users/{id}")]
public IActionResult GetUser(int id)
{
var user = new { Id = id, Name = "Alice" };
var response = new
{
user,
links = new[]
{
new { rel = "self", href = Url.Action("GetUser", new {
id }) },
new { rel = "orders", href = Url.Action("GetUserOrders",
new { id }) }
}
};
return Ok(response);
}
The API response itself guides the client to related resources (user’s orders, profile, etc.).
Q&A