gpt4 book ai didi

c# - 为具有速率限制和缓存的 ASP.NET MVC 站点创建 API

转载 作者:太空狗 更新时间:2023-10-29 21:55:53 26 4
gpt4 key购买 nike

最近,我对 API 很感兴趣,特别是对如何创建它们很感兴趣。出于这个问题的目的,假设我创建了一个 ASP.NET MVC 站点,上面有一些数据;我想为这个网站创建一个 API。

我对此有很多疑问:

  1. 我应该创建什么类型的 API?我知道 REST 和 oData API 非常流行。各自的优缺点是什么,我该如何实现?到目前为止,据我了解,带有 ASP.NET MVC 的 REST API 只是返回 JSON 而不是 View 的操作,并且记录了 oData API here .
  2. 我如何处理写入? 从这两种 API 类型读取数据非常简单。然而,写作更复杂。通过 REST 方法,我明白我可以使用 HTTP POST,但我如何实现身份验证?此外,对于 oData,写作首先是如何工作的?
  3. 我如何实现基本的速率限制和缓存?根据我过去使用 API 的经验,这些都是非常重要的事情,这样 API 服务器就不会过载。设置这两件事的最佳方式是什么?
  4. 我能得到一些示例代码吗?任何与 C# 和 ASP.NET MVC 相关的代码都将不胜感激。

提前致谢!

虽然这是一个宽泛的问题,但我认为它不是宽泛的...:)

有一些与此问题类似的关于 API 的问题,但我还没有找到任何直接解决我在此处概述的问题的问题。

最佳答案

REST 服务可以返回任何媒体类型。它可能是在 IANA 中列出的标准化产品,或者它可以是您创建的自定义项。

OData 是建立在 AtomPub 之上的协议(protocol). AtomPub 本身是 RESTful,但是,OData 目前打破了一些 REST 约束。

RESTful 服务的身份验证最好使用 HTTP 授权 header 来完成。

写入 OData 服务的方式与写入 AtomPub 服务的方式相同。阅读规范。

就我个人而言,在担心速率限制之前,我会担心编写一个有效地提供内容的有值(value)的服务。当你最终遇到那个问题时,你会很高兴。

有关缓存的更多信息,请阅读 this .

关于c# - 为具有速率限制和缓存的 ASP.NET MVC 站点创建 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2890885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com