我设计了一个为POST创建XML的类,以便调用对第三方API的API调用。该类有辅助方法;一个用于形成HttpWebRequest,然后一个用于发送它。我的问题是:
响应(最终我将推送到XMLReader并解析它以获取值)是否应该作为HttpWebResponse,XMLReader或者什么来返回?并且我应该通过发送HttpWebRequest方法返回该响应,或者只是设置为正在进行发送的APIRequest.cs类中的属性?或者我应该将HttpWebResponse或XMLReader(如果我决定先将该响应推送到读者中)传递给一个名为APIMethodResponse的完全不同的类,该类保存响应中返回的值?
我在考虑SOLID和基本的课堂设计。在处理从我用APIRequest.cs类创建的API方法调用/请求返回的响应方面,我不确定采用哪种方式。
注意:APIRequest.cs类实际上更具说明性,例如UpdateCustomerRequest.cs,因为我正在调用API方法UpdateCustomer。因此,我为POST创建的XML是通过一种方法创建的,该方法创建必要的节点和数据,作为UdpateCustomer方法调用的POST发送
答案 0 :(得分:1)
您不应该返回HttpWebResponse。这是您的API调用框架的内部,与调用者无关。
我要保持基本并返回原始XML(然后可以根据调用者的要求以多种方式解析),或者我会一路走来,解析它并返回里面的返回值/输出参数。 / p>
请记住,调用者希望尽可能接近调用API方法并获取返回值,而不必处理所涉及的布线。
答案 1 :(得分:1)
返回XmlReader。您可以使用XmlReader执行任何操作 - 加载到XmlDocument中,用作XslCompiledTransform的输入等。它是XML API的最小公分母。
顺便说一句,你有没有创建HttpWebRequest但是却没有发送它?