【问题标题】:Which is better for building an API for my website: MVC or Ado.net data services?哪个更适合为我的网站构建 API:MVC 或 Ado.net 数据服务?
【发布时间】:2011-07-03 20:49:39
【问题描述】:

我有一个使用 MVC 构建的网站,现在我想为这个网站构建一个 API,让用户使用这个 API 来实现不同的网站、Web 服务、插件和浏览器扩展。

我浏览了这个article,但还没有找到要使用的。

关于我要构建的 API 的一般信息:
API 的用户将拥有一个能够使用 API 的关键用户名和密码。
API 将允许用户在验证此数据后向我的数据库添加内容。
API 将允许用户将图像上传到我的服务器。
API 需要有友好的 URL。

哪种技术适合我的情况?

也将帮助我决定了解 stackoverflow API 背后的技术是什么?

【问题讨论】:

  • 如果您已经有一个在 ASP.NET MVC 中构建的网站,除非您特别想针对 OData和/或利用其他 WCF 数据服务细节。在 MVC 中添加 RESTful API 层很简单。
  • +1 对上述评论,完全同意。
  • 好吧,stackoverflow.com呢,它是mvc,你知道它的api是用什么构建的吗?

标签: asp.net-mvc web-services api wcf-data-services odata


【解决方案1】:

试试WCF Web Api。它拥有创建良好 RESTFul api 的所有酷东西,并且满足您的所有要求。

  • 您将使用基本的或一些自定义的 http 授权,就这么简单。
  • 您将公开用于创建数据、验证和返回响应的非常基本的 url,这很简单。
  • RESTFul 表示友好的 url -s。

总体思路是,这个库从请求开始到响应返回,都为您提供了强大的操作选项。这是 .NET Framework 和 WCF 的主要 HTTP api,它还在继续发展。

【讨论】:

  • 根据FAQ,目前还不允许在生产环境中使用。
【解决方案2】:

您是否考虑过改用OpenRasta

其简洁的 ReSTful 方法使其非常适合在 .NET 中开发基于 Web 的 API。

【讨论】:

    【解决方案3】:

    除非您有非常令人信服的理由使用 WCF,否则为什么不直接通过 ASP.NET MVC 站点公开您的数据。您可以从 ASP.NET MVC 中轻松返回 JSON 或任何其他适合您需要的非 HTML 数据格式。

    根据您的网站和 API 之间的接口需要有多相似,您可能能够使用现有的控制器/操作或创建新的控制器/操作。理论上,如果 HTTP 请求指示“应用程序/json”,您可以将 JSON 返回到这些请求并完成......但实际上您可能需要调整端点(控制器/操作)以使其对您的新请求友好消费者(针对您的 API 的其他开发人员)

    WCF 非常好并且功能丰富,但并不是每个人都熟悉它。您可能会遇到一个学习曲线来很好地理解它。同样,如果有一个非常正当的理由,那么它是值得的,但从你所描述的情况来看,你可能与普通的 ASP.NET MVC 一样好。

    【讨论】:

      猜你喜欢
      • 2017-10-21
      • 1970-01-01
      • 2016-01-11
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多