行。我正在与基于REST的API进行通信,该API返回XML格式的响应。我正在使用RESTSharp让生活更轻松。如果我调用RestClient.Execute<T>()
重载,RESTSharp有一个从返回的XML创建/填充.NET对象的便利功能。我的API的所有调用都具有以下形式:
REQUEST:
<GetContactsRequest> <--
响应:
<GetContactsResponse> <--
<Result>Success</Result>
<Contacts>...</Contacts> <--
</GetContactsResponse> <--
我突出显示的节点将根据请求进行更改。这似乎为RESTSharp带来了问题,它使用节点名来查找相应的类/属性。早些时候,当我在处理所有响应中始终返回相同根级别节点的另一个API时,我能够创建这样的泛型类:
class Response<T>
{
public string Result { get; set; }
public T Data{get; set;}
}
然后我可以将其用于所有API请求。由于根节点名称不是Response
,因此此类不会在此新API中填充。我是否需要为每个请求/响应创建一个类,或者是否有更好的解决方案?