2

コールドフュージョン10を使用してRestサービスに複雑な検索機能を実装しようとしています。projectid=1やactive=1など(ManagerNameにはJohnが含まれるか、ManagerNameにはalfredが含まれます)

これを行う1つの方法は、?projectid = 1&active = 1&ManagerName = [John、Alfred]です。ただし、ManagerName検索では必要な結果が返されないため、これは私の目的には役立ちません。また、検索フィルターの数が増えると、クエリ文字列の処理が難しくなります。

HTTP Get Requestを介して入力としてxml(すべての検索フィルターを含む)を取得しようとしましたが、GetHTTPRequestData()がxmlコンテンツを反映していないため、それは役に立ちませんでした。

HTTPGetRequestを介してxml/jsonを渡す方法はありますか?xmlがHTTPPostRequestによって渡される場合、それは悪い習慣ですか?複雑なフィルターパラメーターをRESTサービスに渡す他のオプションはありますか?

私は同様の質問のためにサイトにたくさんの投稿をしましたが、それでも私の問題の解決策を見つけることができませんでした。

4

1 に答える 1

3

GETリソースの状態を変更してはなりません。get使用をRead運用に厳密に制限する

リソースの作成、つまりペイロード (xml/json) をトリガーしますPOST。検索に POST を使用するのは非常に悪い習慣です。

GETまた、リクエストがキャッシュされる可能性があり、検索がリアルタイムの場合は古いデータが取得される可能性があるため、Cache-Control に注意する必要があります。

stackoverflowあなたはそれ自体として例を取ることができます

https://stackoverflow.com/questions/tagged/rest?sort=newest&pagesize=30

上記の UR1 では、パス要素questionstagged、がリソースrestのサブセットを導出します。questionクエリ パラメータは、基準を満たすもののフィルタリングを提案します。

于 2013-02-07T13:09:29.280 に答える