use*_*899 22 .net rest http-get asp.net-web-api frombodyattribute
我想实现一个REST API,并且在我的GET请求上需要一个正文.(如下所述:带请求主体的HTTP GET)
是否有http客户端无法发送带有GET请求的正文?Fiddler能够做到这一点,虽然消息框是红色的.
Ben*_*Ben 29
作为一般规则,REST中GET的概念是您的任何参数都在URL中发送.正如你所包含的问题的答案所表明的那样,它是可行的,但是忽略了REST的重点,那就是拥有一致的webbish界面.如果要将复杂数据传递到端点,则可能需要使用POST,用户希望该POST具有正文.我强烈建议重新考虑该实施.
但对于您的实际问题,确定有客户无法在GET上发送正文.大多数情况下,我认为你的客户端将是程序化的,比如python的urlib2,虽然你可以在GET上设置一个主体,但它并不是模块的预期用途,所以你迫使程序员变得奇怪.更重要的是,REST api的想法是与客户端无关,这就是为什么我觉得你的API设计应该在这里重新设计.
在GET HTTP请求中使用body是个坏主意.是的,似乎是"法律上的"HTTP GET可以拥有正文,但"事实上"你会遇到问题:
你在寻找艰难的方式吗?随着身体的GET,你会遇到很多陷阱.为什么不使用其他HTTP动词?
例如,使用POST(或其他一些动词),而不是:
不要寻找更难的方式:)
| 归档时间: |
|
| 查看次数: |
35276 次 |
| 最近记录: |