API Endpoints for stevedunn/intellenum
The stevedunn/intellenum
codebase, particularly in the ASP.NET Core segment, leverages the routing framework to define various HTTP endpoints. The routes are primarily defined in the OrdersController
class located in the samples/WebApplication
folder, which provides several endpoints for managing orders.
OrdersController Definition
The OrdersController
is decorated with the [Route("api/[controller]")]
attribute, indicating that all routes defined within this controller will be prefixed with api/orders
.
[Route("api/[controller]")]
public class OrdersController : ControllerBase
{
// ...
}
Route Definitions
The controller contains multiple routes defined through various HTTP methods. The most notable routes defined include:
Get Current Orders
- Route:
api/orders
- HTTP Method: GET
- Action: Returns all current orders.
[HttpGet] public IActionResult CurrentOrders() { return Ok(_orders); }
- Route:
Get Orders by Customer Name
- Route:
api/orders/customer/{customerName}
- HTTP Method: GET
- Action: Returns orders associated with a specific customer name.
[HttpGet, Route("customer/{customerName}")] public IActionResult GetByName(string customerName) { return Ok(_orders.Where(o => o.CustomerName == customerName)); }
- Route:
Get Orders by Order ID
- Route:
api/orders/orderid/{orderId}
- HTTP Method: GET
- Action: Retrieves an order based on its unique ID.
[HttpGet, Route("orderid/{orderId}")] public IActionResult GetByOrderId(int orderId) { return Ok(_orders.Where(o => o.OrderId == orderId)); }
- Route:
Get Orders by Delivery Scheme
- Route:
api/orders/delivery/{deliveryScheme}
- HTTP Method: GET
- Action: Returns orders based on their delivery scheme.
[HttpGet, Route("delivery/{deliveryScheme}")] public IActionResult GetByDeliveryScheme(DeliveryScheme deliveryScheme) { return Ok(_orders.Where(o => o.DeliveryScheme == deliveryScheme)); }
- Route:
Get Orders by Delivery Scheme (with Enum)
- Route:
api/orders/delivery2/{deliveryScheme}
- HTTP Method: GET
- Action: Returns orders based on a delivery scheme provided as an enumeration.
[HttpGet, Route("delivery2/{deliveryScheme}")] public IActionResult GetByDeliveryScheme(DeliverySchemeEnum deliveryScheme) { return Ok(_orders.Where(o => o.DeliveryScheme.ToString() == deliveryScheme.ToString())); }
- Route:
Summary of HTTP Endpoints
The routes defined in the OrdersController
implement various GET endpoints that provide access to order data through different filtering methods (e.g., by customer name, order ID, or delivery scheme). The use of the Route
attribute conveniently organizes API paths allowing for a RESTful structure that adheres to common practices within ASP.NET Core applications.
The above details are sourced from the file samples/WebApplication/OrdersController.cs
.