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; 
 } 
} 

请就这个问题给我建议.......

ServiceStack——在单个Restservice中继承所有DTO资源

你可以在同一个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或端点来调用该服务,该方法都将被调用。