私は webapp を実装していて、RESTfull の設計基準に準拠したいと考えています。私の質問は次のとおりです。
コレクションを持つクラスが与えられます。
Person { id :: 整数名 :: 文字列の友達 :: 人物のコレクション }
Person クラスのインターフェイスを実装する「最も」正しい方法は次のとおりです。
1.
example.com/REST/persons -> [... {id: '2', name: 'Pete', friends: [1,4,6]} ... ]
example.com/REST/persons/2 -> {id: '2', name: 'Pete', friends: [1,4,6]}
人物クラスの検索機能を使用して、どこで友達を検索しますか?
また
2.
example.com/REST/persons -> [... {id: '2', name: 'Pete'} ... ]
example.com/REST/persons/2 -> {id: '2', name: 'Pete'}
example.com/REST/persons/2/friends -> [{id: '1', name: 'Joann'},
{id: '4', name: 'Jim'},
{id: '6', name: 'Charlie'}]
コレクション内の要素が人物インスタンスのフィールドとして検索される場所。
両方が実装されているのを見てきましたが、標準に準拠したいと思います。
3番目の方法が私に急上昇しました。
example.com/REST/persons/2 -> {id : '2',
name : 'Pete',
friends: [example.com/REST/person/1,
example.com/REST/person/4,
example.com/REST/person/6]}
したがって、インターフェイス イベントをより RESTfull にします。クライアントは、実装について何も知らなくても、インターフェイス全体をトラバースできるようになりました。
どこかで何らかのインプットがあることを願っています。