0

我目前正在设计一个系统组件(在 c# 中)以与 api 交互。api 调用的格式为:

http:// <name of api site>\< JSP page name>?<parameter set>

该调用返回一个包含调用结果或错误消息的 xml 文档。我最终希望组件返回以下类型的对象:

 public readonly class APIResult<T>
 {
     public bool Success {get; set;}
     public T Details {get; set;}
 }

我目前的计划是创建一个创建 URL 的类,然后将其传递给另一个通用类(T 类型)以使用该 url 调用 API,该 API 询问响应,该响应返回一个新的 APIResult,其中详细信息从Xml 结果反序列化。

我有两个问题要问 SO 的专家。

1)任何人都可以看到这种方法的问题或提出更好的方法来实现我的意图。

2) 是否有一种创建 URL 的优雅方法,而不是简单地使用带有传递给函数的参数的 string.format。

非常感谢,

番茄酱

4

1 回答 1

0

三个建议:

  1. 避免使用 Success 属性。每次点击 API 时,该属性都会强制您检查它。您将结束在任何地方都有这样的代码:

    if(result.Success) { // 做点什么 } else { // 这里...什么!?}

    在 OOP 中,异常比错误代码/标志更可取。

  2. 使用属性(装饰)自动反序列化 API 响应(无需代码)。

  3. 使用 UriBuilder 来......好吧,构建 uri:http: //msdn.microsoft.com/en-us/library/system.uribuilder.scheme.aspx

于 2013-01-16T18:18:14.597 回答