我想实现一个 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/