创建 API 的最佳方法 [关闭]
Posted
技术标签:
【中文标题】创建 API 的最佳方法 [关闭]【英文标题】:best way to create API [closed] 【发布时间】:2012-01-15 18:11:09 【问题描述】:我们即将创建一个 API,以便我们的客户可以连接到我们、订阅服务并使用该服务。实现这一点的最佳方法是什么?我们在 C#、.NET 中工作。我们想要这样的东西: 我们将向客户提供用户名和密码以连接我们的 API。 (如何实现这个,使用数据库?)? 成功连接后,客户将订阅我们的服务。 (如何检查客户是否已连接?) 订阅后客户可以调用API方法。
请告诉我最好的方法。
【问题讨论】:
【参考方案1】:你看过servicestack吗?太棒了,完全基于 DTO 并且非常容易为 .net 创建 API
请关注我的blog post
检查此线程以了解 ServiceStack 中的身份验证选项。
https://groups.google.com/d/topic/servicestack/U3XH9h7T4K0/discussion
看例子here
【讨论】:
它会在我的服务和移动设备之间提供通信吗? 是的,肯定看到这个链接servicestack.net/mythz_blog/?p=417【参考方案2】:一个简单的解决方案是提供一个 Login 方法,您的客户必须在使用服务之前使用用户名和密码调用此方法,一旦用户名/密码验证,您可以向客户端发出令牌,通常存储在数据库中;然后客户端可以使用为每个请求附加的令牌调用您的 API 方法,以便您可以检查客户端是否调用了 Login 方法;客户端通过提供 Logout 方法或为每个令牌设置过期时间结束使用服务后,令牌将被销毁。
这是供您考虑的。关于“最佳”方式,我认为没有一种最适合所有情况的方式。你会找到最适合你的方式。
【讨论】:
我还希望我的服务能够与手机通信。就像我的许多客户将使用来自 iphon/android 的该服务一样。那么什么是合适的技术呢? 任何基于 http 的东西都可以在移动设备上正常工作 @ExploringTech 我认为 http 对 PC 客户端和移动客户端都适用。 简单的.net web 服务怎么样?还是 wcf?或您希望我考虑的任何其他技术? 简单的 .net 网络服务很好。我更喜欢restful风格的服务,避免处理web服务的soap消息和用于数据包装的json,因为soap在大多数情况下并不是必需的,而简单的http传输对于移动平台来说更常见。【参考方案3】:这可能会启发你或证明有用。
http://visualstudiogallery.msdn.microsoft.com/b1d767d9-d6bf-41ee-89a8-313d338e63b6
那里还有一些讨论使用 API 密钥的链接,因此您可以控制谁在使用您的 api,为什么这很重要。
【讨论】:
以上是关于创建 API 的最佳方法 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章