いくつかのMVCJSフレームワーク/ライブラリを調べ始めたところ、それらのほとんどはRESTful APIエンドポイントを期待しているので、私は考えました... CF9 + ColdBox RESTfulサポートでは実行できないCF10を使用して何ができるか、またはその逆ですか?
ありがとうございました。
いくつかのMVCJSフレームワーク/ライブラリを調べ始めたところ、それらのほとんどはRESTful APIエンドポイントを期待しているので、私は考えました... CF9 + ColdBox RESTfulサポートでは実行できないCF10を使用して何ができるか、またはその逆ですか?
ありがとうございました。
Restful Webサービスは標準の概念であり、すべての実装は最終的にこれらの基準に準拠します。Taffy、Powernapなどの既存のフレームワークとColdBox 3、Mach IIなどのフレームワークがあり、ColdFusionでRESTfulサービスを作成するのに役立ちます。そして私は、ユーザーに提供される完全性とエンパワーメントの点で、彼らは素晴らしい仕事をしています。違いは、それらがそれを可能にする方法、どのようにあなたにあなたのサービスを作成させるかということにあります。いくつかは慣例に従い、他の構成は独自のDSLなどを使用し、提供する機能に関してはある程度従います。
ColdFusion 10は、ネイティブのRESTfulWebサービスをサポートしています。それがテーブルにもたらすものは次のとおりです。
ご覧のとおり、これらのほとんどは、機能の比較ではなく、言語で「ネイティブに」利用できることの利点であり、それが私たちがそれを実装した理由です。IMOの比較はまったくありません。すべてのフレームワークがネイティブに利用可能な機能を利用し、その上に構築されることを望んでいます。
サムルールは、CF10の前にあなたの好みに合ったものを使用するか、ユースケース/ CF10のリリース後にネイティブに利用できるものを使用するか、それを利用するフレームワークを使用する必要があります。
注意:すべてのフレームワーク作成者は自分自身に偏っているので、飛躍する前に判断してください。
ps私はColdFusion10でRESTサポートを実装しました:)
残りのcfcは通常、モデルのラッパーにすぎないため、モデルがすでにコールドボックスなどのcfフレームワークで作成されている場合は、ReSTfulWebサービスのフレームワーク実装を使用する方がよい場合があります。
ゼロから始める場合、CF10(およびRailo 4)に新しく追加された機能により、アプリケーションフレームワークのオーバーヘッドなしでインフラストラクチャが提供されます。
優れたリソース:https ://github.com/atuttle/CF-REST-Comparison/tree/master/CF10
要件/癖
- すべてのリモートメソッドでreturnType="..."を指定する必要があります(ここで、...は返されるタイプです)。
<cfargument/>
URIトークン引数のタグのrestArgSourceを忘れないでください 。restArgSourceのデフォルト値はbodyです。これは、URIから値を取得しようとしている場合は機能しません。- アプリケーション固有のマッピングはサポートされていません。代わりに、サーバーマッピングまたは完全修飾cfcパスを使用してください。
- サービスを更新するときは常に、次のワークフローに従います。ログファイル画面から「exception.log」を削除します。RESTサービスを更新します。「exception.log」が戻っているかどうかを確認します。(もしそうなら、それを読んで問題に対処してください。)