Restful web服务路由
本文关键字:路由 服务 web Restful | 更新日期: 2023-09-27 18:07:04
我正在做一个。net 4.0 wcf restful service项目。作为项目的一部分,我创建了两个服务1)OrderService 2)ProductService
在这一刻,我已经配置他们在全局。
RouteTable.Routes.Add(new ServiceRoute("products", new WebServiceHostFactory(),
typeof (ProductService)));
RouteTable.Routes.Add(new ServiceRoute("orders", new WebServiceHostFactory(),
typeof (OrderService)));
我可以使用以下url访问服务:
http://localhost/orders/123
http://localhost/products/456
但是我的要求是我必须能够访问一个特定的产品在一个特定的顺序使用以下格式的url:
http://localhost/orders/{orderId}/products/{productId}
谁能建议我应该使用什么路由来让两个不同的服务一起工作?
Update: ProductService中有一个接受两个参数的方法
orderId和
productId
返回所需产品
在您的OrderService
(和相关的服务合同)中使用正确的UriTemplate
公开操作
public class OrderService : IOrderService
{
[WebGet(UriTemplate = "{orderId}/products/{productId}")]
public Product GetOrderProduct(int orderId, int productId)
{
...
}
}
如果必须通过路由到OrderService
的orders
访问,则不能在ProductService中。