作为一名训练有素的程序员,我被教导反复使用 getter 和 setter 方法来控制类变量的访问和修改。这就是你被告知在 Java、Python、C++ 和几乎所有其他现代语言中使用它的方式。然而,当我开始学习 Web 开发时,这似乎被抛在了一边。相反,我们被告知在 GET 和 POST 调用中使用一个 URL,这看起来很奇怪。
所以想象我有一个Person
对象,我想更新他们的年龄。在非 HTTP 世界中,您应该有一个名为的方法<PersonObject>.getAge()
和另一个名为<PersonObject>.setAge(int newAge)
. 但是,相反,您有一个保存用户个人资料信息的网络服务器。根据 HTTP 约定,您将拥有一个类似“/account/age”的 URL。要获取他们的年龄,您可以使用“GET”请求该 URL,并设置他们的年龄,您可以使用“POST”请求该 URL,并以某种方式(表单、JSON、URL-arg 等)发送新的价值。
HTTP 方法只是感觉很尴尬。对我来说,这类似于将非 HTTP 版本更改为一种名为 的方法age
,您将使用 获取他们的年龄<PersonObject>.age('GET')
,并使用 设置他们的年龄<PersonObject>.age(newAge, 'SET')
。为什么这样做?
为什么不使用一个名为“/account/getAge”的 URL 和另一个名为“/account/setAge”的 URL?