InfoQ: 创建RESTful服务,有GET和POST足矣?

10-06-25 jentrees
InfoQ: 创建RESTful服务,有GET和POST足矣?
    

3
banq
2010-06-27 11:13
只要GET POST 不要PUT和DELETE?

是一个好的想法,这让我对这四个方法有一个新认识,对比之前曾经讨论的CRUD方法性质,以我事务内部外部区别来看:

GET POST应该属于事物对象的外部方法,通过GET获得一个对象,GET应该是作用于这个对象的外部操作,而POST是提交一个新的原来不存在的对象,也是新对象的外部操作。

而PUT和DELETE则是对象内部自己的方法,属于业务行为,对象可以修改自己的状态,可以进行自杀。

所以,GET/POST 和PUT/DELETE 应该属于两种不同范畴不同世界,不同边界的两种方式。如果RESTful全面提供这两种性质不同方法,应该是考虑全面的。而只使用GET/POST,只是从对象事物外部去操作它,好处是更加抽象,坏处是作为一个标准会有所欠缺。

mercyblitz
2010-06-27 20:31
GET和POST足够了,Struts1的实现就是基于这两个方法。

可以按照REST的URI语义风格来实现服务,但不一定必须使用PUT和DELETE等资源操作方法。

猜你喜欢