いくつかの設定プロパティを持つWebサーバーがあり、REST APIを使用してそれらを変更できるようにしたいと考えています。一意のリソース(URLは単数形ですか?)のためのREST URL
例
{
"maxUsers" : 10,
"refreshPeriodInMin" : 5
}
私は、 "設定" オブジェクトでこれを表現したいと思います。 RESTの原則によると、私はそれを行うための最善の方法があると信じて:
GET/PUT/POST/DELETE /configurations/{id}
しかし、私の場合は私が唯一の構成オブジェクトを持っていると私は
GET /configurations
だけを照会しなければならないという考え方が好きではありません1つのオブジェクトに対して。
1つのオブジェクトのみが私が見つけた最も簡単な解決策は、IDを使用することがありますので=デフォルト
は
GET /configurations/default
- のようなものを与えるだろう「ユニークな」リソースを表現する良い方法はあります?コメントでdjmortonが言及したように、
/configuration
はRESTの世界では正しいでしょうか?
もう1つの解決策は、プロパティごとに1つのオブジェクトを持つことです。これは与えるだろう、そのソリューションと
GET /properties/maxUsers
問題は、あなたがそれを照会できるようにするプロパティの名前を知っておく必要があるということです。複数の変更がある場合は、いくつかのクエリを実行します。
設定オブジェクトが1つしかない場合は、/ configurations/{id}ではなく/ configurationを使用するだけです。次に、GETを使ってフェッチし、PUTを使って更新します。新しいURIで新しいリソースを作成していないので、通常POSTは使用しません。 – djmorton
私は/リソースを削除すると、私はGET /リソースがどうなるのでしょうか?私は404を得る?その場合、リソースはIDであるため、わかりません。 –
RESTですべてのHTTP動詞をサポートする必要はありません。誰かがDELETEを使ってそれをクリアする能力を持たない限り、リソースを削除しようとすると405を返します。その場合、GETはDELETE後に単に404を返すことができます。 – djmorton