首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API交互的设计

API交互的设计
EN

Stack Overflow用户
提问于 2013-01-16 18:19:14
回答 1查看 125关注 0票数 0

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

代码语言:javascript
复制
http:// <name of api site>\< JSP page name>?<parameter set>

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

代码语言:javascript
复制
 public readonly class APIResult<T>
 {
     public bool Success {get; set;}
     public T Details {get; set;}
 }

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

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

1)有没有人能发现这种方法的问题,或者提出更好的方法来实现我的意图。

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

非常感谢,

番茄酱

EN

回答 1

Stack Overflow用户

发布于 2013-01-17 02:18:15

三个建议:

  1. 避免使用Success属性。该属性将强制您在每次访问API时对其进行检查。你将会在任何地方都拥有像这样的代码:

如果(result.Success){ //做其他事情}{ //在这里...什么!?}

在OOP中,异常比错误的codes/flags.

  • Use属性(修饰)更适合用来自动反序列化codes/flags.

  • Use响应(不需要代码)。好的,构建uri:http://msdn.microsoft.com/en-us/library/system.uribuilder.scheme.aspx
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14356058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档