TrackingController.java
package com.rbctcsworld.ecommerce.fulfillment;
import com.rbctcsworld.ecommerce.order.OrderDtos.TrackingResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** GET /api/tracking/{trackingNumber} - PUBLIC (no login), like a carrier's tracking page. 200 | 404 */
@RestController
@RequestMapping("/api/tracking")
public class TrackingController {
private final FulfillmentService fulfillment;
public TrackingController(FulfillmentService fulfillment) {
this.fulfillment = fulfillment;
}
@GetMapping("/{trackingNumber}")
public TrackingResponse track(@PathVariable String trackingNumber) {
return fulfillment.track(trackingNumber);
}
}