訓練を受けたプログラマーとして、クラス変数のアクセスと変更を制御するために getter メソッドと setter メソッドを使用することを繰り返し教えられてきました。これは、Java、Python、C++、および太陽の下にある他のほとんどすべての現代言語で行うように言われている方法です。しかし、Web 開発について学び始めたとき、これは脇に追いやられているように思えました。代わりに、GET 呼び出しと POST 呼び出しで 1 つの URL を使用するように指示されていますが、これは非常に奇妙に思えます。
オブジェクトがPerson
あり、その年齢を更新したいとします。非 HTTP の世界では、 と呼ばれるメソッドと<PersonObject>.getAge()
と呼ばれる別のメソッドを持つことになっています<PersonObject>.setAge(int newAge)
。しかし、代わりに、ユーザー プロファイル情報を保持する Web サーバーがあるとします。HTTP 規則によると、「/account/age」のような URL になります。年齢を取得するには、「GET」でその URL を要求し、年齢を設定するには、「POST」でその URL を要求し、何らかの方法 (フォーム、JSON、URL 引数など) を送信します。新しい価値とともに。
HTTP メソッドはぎこちなく感じます。私にとって、これは非 HTTP バージョンを という 1 つのメソッドに変更することに似ておりage
、 で年齢を取得し、 で年齢を<PersonObject>.age('GET')
設定し<PersonObject>.age(newAge, 'SET')
ます。なぜそのようにされるのですか?
「/account/getAge」と呼ばれる 1 つの URL と「/account/setAge」と呼ばれる別の URL を作成しないのはなぜですか?