ServiceStack——在单个Restservice中继承所有DTO资源
本文关键字:资源 继承 DTO 单个 Restservice ServiceStack | 更新日期: 2023-09-27 18:02:17
如何在一个服务中继承所有DTO资源?
例如,
I Have Resource Class:
[RestService("/getstudentname", "GET,POST,PUT,OPTIONS")]
public class RestResourcename
{
public string Name { get; set; }
}
[RestService("/getstudentID", "GET,POST,PUT,OPTIONS")]
public class CNextRestResourceid
{
public string Name { get; set; }
}
我有我的服务类:1.如何在此服务????????中继承另一个DTO类2.我需要为这个?????创建单独的类吗
public class CnextRestService : RestServiceBase<RestResourcename>
{
public override object OnGet(RestResourcename request)
{
return request;
}
}
请就这个问题给我建议.......
你可以在同一个web服务中的同一个资源(也就是请求)DTO上实现多个HTTP动词,例如:
public class CustomersService : Service
{
object Get(GetCustomer request){...}
object Post(CreateCustomer request){...}
object Put(UpdateCustomer request){...}
object Delete(DeleteCustomer request){...}
}
这允许您为以下HTTP操作提供多种实现:
GET /customers
GET /customers/1
POST /customers
PUT /customers/1
DELETE /customers/1
虽然如果你使用SOAP,你被限制为每个web服务一个RPC方法,因为SOAP只支持HTTP POST。
最好的方法是继承Service并实现Any()方法,无论使用哪个HTTP Verb或端点来调用该服务,该方法都将被调用。