Tôi có ứng dụng ASP.NET MVC 4. Tôi muốn sử dụng tính năng Web API mới cho mục đích học tập. Tôi muốn tìm hiểu cách phơi bày cùng một điểm cuối, nhưng cung cấp các phiên bản khác nhau của nó. Nói cách khác, tôi muốn hiển thị các điểm cuối như sau:Hành động API Web phiên bản trong ASP.NET MVC 4
http://mysite/1.0/Products/1
http://mysite/2.0/Products/1
Để thực hiện điều này, tôi đã thêm thư mục "Api" trong thư mục "Bộ điều khiển" mặc định. Trong thư mục "Api", tôi có hai thư mục khác: "Version1-0" và "Version2-0". Mỗi thư mục có một ApiController tên là "ProductsController".
tôi đã cố gắng để lộ thiết bị đầu cuối bằng cách thêm định nghĩa đường sau trong tập tin WebApiConfig.cs tôi:
config.Routes.MapHttpRoute(
name: "1-0Api",
routeTemplate: "api/1.0/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Thật không may, tôi không thể tìm ra cách để vạch trần những hành động thông qua URL tôi liệt kê ở trên. Tôi đang làm gì sai? Cảm ơn bạn!
Hiện tại, tôi chỉ có 1 bộ điều khiển (ProductsV1Controller) và tôi không thể truy cập điểm cuối đó. Tôi đang làm gì sai? Không có thay đổi nào khác đối với dự án. Tôi đã bắt đầu một dự án ASP.NET MVC 4 mới và muốn thêm một bộ điều khiển được phiên bản. –
Một số điều có thể sai. Bộ điều khiển của bạn có thể không phải là một lớp công khai, bộ điều khiển có thể không lấy được từ ApiController, hoặc một cái gì đó khác. Phản hồi bạn nhận được từ máy chủ trên máy cục bộ là gì? –
Bộ điều khiển của tôi là một lớp công khai. Bộ điều khiển có nguồn gốc từ ApiContoller. Trên máy địa phương của tôi, tôi nhận được một 404. Đó là điều kỳ lạ nhất. –