.net - REST API : GET request with body

标签 .net rest asp.net-web-api http-get frombodyattribute

我想实现一个 REST API,并且在我的 GET 请求上需要一个正文。 (就像这里讨论的:HTTP GET with request body)

是否存在无法通过 GET 请求发送正文的 http 客户端? Fiddler 能够做到这一点,尽管消息框是红色的。

最佳答案

作为一般规则,REST 中 GET 的想法是您的任何参数都在 URL 中发送。正如您所包含的问题的答案所示,它是可行的,但错过了 REST 的要点,即拥有一致的 webbish 界面。如果您想将复杂的数据传递到您的端点,您可能需要使用 POST,您的用户会期望它有一个正文。我强烈建议重新考虑该实现。

但是对于您的实际问题,确定有些客户无法在 GET 上发送正文。大多数情况下,我会想象您的客户将是编程的,例如 python 的 urlib2,虽然您可以在 GET 上设置一个主体,但这并不是模块的真正预期用途,所以您迫使程序员变得怪异。更重要的是,REST api 的想法是与客户端无关,这就是为什么在我看来你的 API 设计应该在这里重新设计。

关于.net - REST API : GET request with body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11091160/

相关文章:

c# - 如何检查一个 char 数组是否包含另一个 char 数组中的每个元素?

以 WCF 为模型的 ASP.NET MVC3

c# - 在 UI 线程上同步取消挂起的任务

rest - 为什么 symfony FOSRest 包找不到合适的 Controller ?

asp.net-mvc-4 - API Controller MVC 4 - 返回类型

c# - 在构造函数 c# 中设置程序集标题

api - 除了 SSL,我还需要什么?为什么

java - 安静服务消息未显示

c# - .net核心Web API- Controller 可以将参数传递给中间件吗?

c# - 微服务架构中的 ASP.NET 标识