C# API交互设计
我目前正在设计一个系统的组件(用c#)来与api交互。api调用的格式如下:C# API交互设计,c#,design-patterns,architecture,C#,Design Patterns,Architecture,我目前正在设计一个系统的组件(用c#)来与api交互。api调用的格式如下: http:// <name of api site>\< JSP page name>?<parameter set> http://\? 调用返回一个包含调用结果或错误消息的xml文档。我最终希望组件返回以下类型的对象: public readonly class APIResult<T> { public bool Success {get; set
http:// <name of api site>\< JSP page name>?<parameter set>
http://\?
调用返回一个包含调用结果或错误消息的xml文档。我最终希望组件返回以下类型的对象:
public readonly class APIResult<T>
{
public bool Success {get; set;}
public T Details {get; set;}
}
public只读类apireult
{
公共bool成功{get;set;}
公共T详细信息{get;set;}
}
我目前的计划是让一个类创建URL,然后将其传递给另一个泛型类(类型为T)以使用URL调用API,该URL将询问响应,该响应将返回一个新的APIResult,其中的详细信息将从反序列化的Xml结果中添加
我有两个问题要问SO的专家
1) 有人能看出这种方法有什么问题吗?有人能提出更好的方法来实现我的意图吗
2) 有没有一种优雅的方法来创建URL,而不是简单地使用string.format和传递到函数中的参数
非常感谢,
番茄酱有三个建议:
我会使
apireult
不可变。@CodesInChaos刚刚说的+1。看看哪个是Asp.NETWebAPI的一部分。如果您也在打包.Net 4.5,那么您可以使用wait
使异步检索数据变得非常简单。谢谢你们两位的建议,我已将其设置为只读。感谢您的等待建议,我本来计划使用HttpClient,但不知道“等待”将有助于构建url(或在url之间共享公共信息)。