创建项目后,默认的 WeatherForecast 控制器已被删除,因为演示不需要它。
添加客户控制器我们需要添加一个 Customer 控制器,该控制器将有一个 get 操作方法,该方法根据输入的客户代码返回客户名称。我们将添加 Controllers\CustomerController.cs 如下所示
[Route("api/[controller]")] [ApiController] public class CustomerController : ControllerBase { private Dictionary<int, string> _customerNameDict = null; public CustomerController() { if(_customerNameDict == null) { _customerNameDict = new Dictionary<int, string>(); _customerNameDict.Add(1, "Pro Code Guide"); _customerNameDict.Add(2, "Support - Pro Code Guide"); _customerNameDict.Add(3, "Sanjay"); _customerNameDict.Add(4, "Sanjay - Pro Code Guide"); } } [HttpGet] [Route("GetCustomerName/{customerCode}")] public ActionResult<string> GetCustomerName(int customerCode) { if (_customerNameDict != null && _customerNameDict.ContainsKey(customerCode)) { return _customerNameDict[customerCode]; } return "Customer Not Found"; } }出于演示目的,我在控制器本身中硬编码了客户代码和名称列表,但理想情况下,这些数据应该来自使用实体框架的数据库。
运行并测试客户服务从 Visual Studio 构建和运行应用程序后,您应该会从 swagger (OpenAPI) 看到以下屏幕。
在执行获取操作 /api/Customer/GetCustomerName/2 时,您应该从操作方法中获得以下响应。
![运行 ASP.NET Core Web API 项目操作方法](/Users/zouding/文档/blog/文章/如何使用polly/
)
创建订单服务在同一个解决方案中创建 ASP.NET Core Web API 类型的第二个项目,名称为 ProCodeGuide.Polly.Order