什么时候应该使用POST和GET?
这是我的WCF服务,用户可以在其中找到消息。 简单:
[OperationContract]
[WebGet(UriTemplate = "/GetMessages/{UserGLKNumber}/{UserPassword}/{SessionToken}")]
Messages GetMessages(string SessionToken, string UserPassword, string UserGLKNumber);
我担心该行: {UserGLKNumber}/{UserPassword}/{SessionToken}
在得到这些消息之前,我必须对用户进行身份验证。 但是使用GET
方法,我无法发送对象,就像在POST
。
它与REST模式一致吗?
请清除我的疑惑。
已经有帖子和关于这个的问题,我正在总结所有这些
POST动词用于创建新资源(您的案例中的文件),重复的操作会在服务器上创建多个资源。 如果多次上传具有相同名称的文件在服务器上创建多个文件,则此谓词很有意义。
当您更新现有资源或使用预定义ID创建新资源时,会使用PUT动词。 多个操作会重新创建或更新服务器上的相同资源。 如果第二个,第三个...时间上传一个具有相同名称的文件会覆盖先前上传的文件,则此谓词是有意义的。
POST每次你修改服务器上的某些状态,如数据库更新,删除。 GET只读取数据库选择。
GET :获取条目集合(作为提要文档)或单个条目(作为条目文档)。
POST :从入口文档创建新条目。
PUT :使用条目文档更新现有条目。
删除 :删除一个条目。
来源:使用WCF REST的PUT和POST之间的区别
另一个有用的阅读是:
POST和PUT HTTP请求之间有什么区别?
http://www.codeproject.com/Articles/105273/Create-RESTful-WCF-Service-API-Step-By-Step-Guide
http://msdn.microsoft.com/en-us/magazine/dd315413.aspx
http://social.msdn.microsoft.com/Forums/vstudio/en-US/643e0d8b-80bb-45eb-8a84-318ac8de4497/difference-between-the-rest-verbs-put-and-post?forum=wcf
就Restful服务而言...
发布:
它是一个安全的应用程序而不是获取。
2.它没有配置代理服务器。
3.由Web服务器限制的大量数据。
4.它没有在浏览器上缓存。
5.将其输入为xml
获取:
它不适合在应用程序中使用,而不是在应用程序中使用。
2.它的配置代理服务器。
3.它使用url编码技术。
4.它在浏览器上缓存。
如果你没有声明任何人,它是一个默认值。
6它将输入作为字符串返回格式化输出。