目前我正在尝试构建一个宁静的HTTP后端框架。仅使用四种HTTP方法创建任何类型的restful API?
我读过一本书,叫做“平安web服务”,并启动了一些脑力上的这个区域。
我现在为什么资源导向架构是一件好事,但仍有模糊的部分我不明白一个更大的图片。我会试着解释我的想法,看看有人能让我更聪明。
难道不能说所有东西都是物体。汽车,钢笔,书籍,甚至抽象的东西,如想法和概念都可能成为一个对象。因为单词对象只是“某物”的人类发明。
难道你不能说每一个“东西”都是一种资源。硬币,电脑甚至债务都可能是一种资源。但问题在于谁。债务是一种资源,但不是欠谁的人,而是欠他的人。与人类残留物相同。他们是资源,但不是为我们,而是为了自然母亲,因为它需要平衡 - 进出 - 科学基础(编程)。
资源(对象)似乎是名词。如何形容词和动词?实际上似乎所有的东西都可以用名词来描述。例如。
- 形容词:这款车是红色的
- 名词:车内有一个红色
- 形容词:我累了
- 名词:我有一个疲劳
- 动词:我杀了他
- Noun:I create a kiss
- 动词:I kiss her
- Noun:I create a kiss
这意味着resource = object = noun。来自不同角度的相同“东西”。
也许有动词和不具有相当于名词的形容词,但随后即只有在人类语言中的漏洞,而不是在概念本身。
那么回到什么开始了这一切。
当我真的想到只有4个(我知道还有一些)HTTP动词 - POST,GET,PUT,DELETE - 我觉得它不能创建强大的restful API,因为它们限制了API基本的CRUD操作。但是经过一些阅读和思考之后,我意识到所有东西都只是可以创建,读取,更改或删除的资源。像内外一样,简单的规则,但是却能够创造任何东西。
但转念一想,只存在“来”与“走出去”。也许只有“创建”和“删除”。原因GET和PUT是可以用“创建读取”和“创建更改”代替的动词。
这一切只是我的母亲自然的基本的想法玩。进出,创建和删除。前者在编程领域已被广泛接受。但后者你没有听到那么多。但是,如果这是正确的,那么这意味着HTTP Restful API可以用正确的方式创建任何东西,而不是通过修改版本(将动词放在URI中,请求主体等)来创建任何东西,但仅使用POST, GET,PUT,DELETE。
我们只需将所有方法转换为资源/对象。相反的:
result = Books.search("Foo");
我们不得不思考:
result = Search.create(Books, "Foo");
你觉得这个怎么样? 考虑到这一点,是否可以使用四种HTTP方法创建任何种类的restful API? 是“创造”和“删除”自然规律的另一部分吗?
但也许这就是我想要的。进进出出。所以我们必须使用PUT或POST来表示“in”(aka request)和GET来表示“out”(aka响应)。在这种情况下,不应该有DELETE。为了更普遍? – ajsie 2010-11-06 15:07:36
如果你不想实现DELETE,那就是你的电话。如果你确实需要它,那又是另一种情况。但你仍然有创造与改变的情况。尽管它们被抽象为一种“写入”方法,但在实际写入之前它们仍然遵循不同的代码路径。 – Jeremy 2010-11-06 15:30:26