2

RESTfulはバズ語であることは間違いなく、多くの場合、クリーバーデザインパターンのようです。公開Webサービス/ APIのRESTfulデザインをターゲットにすることは常に関連していますか?

自分のWeb APIにそれを適用するのに苦労しています(現存する、今後の予定)私は最終的に私のことと関係があるのか​​疑問です。

私は主に(、、エコー、音量を均一化効果音やフォーマット変換を行うウェブAPIについてのインスタンスのために考えて、おそらく10

まで、少なくとも3つのパラメータを、決定動的なデータを扱っていますまず第一に速度、 ...)。信じられないほどのエフェクトの名前と設定、そしてサウンドをイコライズするために、あなたの信用証明書を送る必要があります。

URLとすることができるeffectMaker /エコー/ 10pct /イコライザ/ 20kHzの/ -10pct /出力レート/ 192kbpsのような何か/

  • HTTPヘッダのいくつかのパラメータ(例えば、応答形式)

  • ボディの音。

したがって、関数はhttpメソッド+ urlルートで定義され、パラメータは本文、urlテール、およびヘッダーにあります。非常に便利ではないようです。

私のユーザーのほとんどが一意であるよう要求しているほか、キャッシング能力はSENSを作成しません。

私は誤ってRESTの "哲学"(ステートレス、ディスカバリー、...)に感動させるものを自分の使い方に統合しようと思っているのではないかと尋ねていますが、無意味で(キャッシュ可能)、あるいはAPIが奇妙になっているのですか?たとえば、私は本当にあなたが身体の一部のデータをプッシュする際のHTTP動詞に固執し、それに応じて変換されたデータを得ることを期待すべき?

私には、あなたが非常にシンプルパスを介してアクセス可能なオンラインデータベースのアイテムを消費/管理するときRESTFullデザインはSENSを作るようです。あなたのAPIがユニークな使用法のためにデータを作成/変換すると、不便に思えます。さまざまな値を受け入れるパラメータが12個あると、それは辛いようです。

しかし、石鹸およびXML-RPC標準は私の意見では、非常に醜いです...

だから、それが賢明と思われるとき、それは悪いRESTlikeまたはAsRESTasRelevantデザインはJSONパラメータ/応答に関連することですか?

私の場合には従うべき標準の任意のアドバイスはありますか?

乾杯、

ヴィンセント

答えて

0

RESTは哲学ではありません。それは建築様式だ - 特定goalsを満たすためにシステムを設計する方法。それらの目標があなたのものでない場合、RESTは悪い考えです。もしそうなら、RESTは良い考えです。私たちはあなたの目標が何であるか分からないので、RESTがあなたに適しているかどうかはわかりません。

この次のビットは、実際にRESTで行う必要はありません、それは

は、処理命令を含むようにURLを使用しないでください、より汎用的なウェブAPIデザインです。あなたが言うように、それは自明ではないシステムでは扱いにくいです。 Multipart要求をサポートするか、または他の部分のオーディオファイルをサポートするか、またはファイルアップロードと処理命令を2つの別々の要求として扱います。両方をサポートすることもできます。

POST /audio-files 

request: 
Content-type: multipart/mixed; boundary="simple boundary" 
--simple boundary 
Content-type: application/json; charset=us-ascii 
{ 
    "echo": "true", 
    ... 
} 
--simple boundary 
Content-type: audio/midi; charset=us-ascii 
<audio file> 
--simple boundary-- 

response: 
200 Ok 
Link: <http://example.com/audio-files/12>; rel="audio-file" 
<altered-audio-file> 

- - 私はRESTish APIとしてこれを設計しようとしていた場合だけspitballing

、私は

POST /audio-files 

request: 
Content-type: audio/midi 
<audio file> 

response: 
201 Created 
Location: http://example.com/audio-files/12 

近く開始される可能性があります

POST /altered-audio-files 

request: 
Content-type: application/json; charset=us-ascii 
{ 
    "audio-file": "http://example.com/audio-files/12" 
    "echo": "true", 
    ... 
} 

response: 
200 Ok 
<altered-audio-file> 

これはオーディオを扱いますファイルおよび変更されたオーディオファイルをリソースとして使用できます。これにより、誰かが同じファイルで8つの変換を実行したい場合に、アップロードされたオーディオファイルを保持することでワイヤータイムを節約できます。後で変更する場合は、変更したオーディオファイルを保持するオプションがあります。要求を追跡する場合は、3番目のエンドポイントを追加することで簡単に行うことができます。多分/audio-requestsです。

関連する問題