2011-06-28 8 views
0

タイトルはちょっと混乱します。申し訳ありません。異なる慣習に準拠するようにPOST値を変換する

私は最終的に別のウェブサイトのAPIにcURLを介して送信することになる、私のウェブサイト上に多数のデータを集めています。私はすべてのものを技術的な側面で動作させることができますが、もっとも大きな問題は意味論にあります。

私は他のウェブサイトは、そのPOST値のために使用する命名規則の[すべての]ファンではない[おそらくと、そのDB構造。]

マイサイト

book-title => Book of Thieves 
bind-type => wire //enum value 
shipping-address-1 => 123 Chesterfield Road 
shipping-address-2 => Apt. 204 

リモートサイト

Title => Book of Thieves 
BindType => wire-bind //enum value 
Shipping1 => 123 Chesterfield Road 
Shipping2 => Apt. 204 

私の質問は:何が最良の方法です私の好みのデータ構造を内部的に利用するには、リモートサイトのAPIにPOSTのデータを渡すときに、データを実装した規約に変換しますか?これにはキーだけでなく値も含まれます(一部の値は事前定義されており、ユーザーの入力ではありません)。

ありがとう!

答えて

1

パターンの観点からは、リモートサイトとのやりとりを完全に担当するクラスにカプセル化することを検討します(他の責任はありません)。その領域には、デリゲート、ファサード、プレゼンターなど、さまざまなパターンがありますが、基本的なロジックは同じです。

YourBookをラップし、サイトに必要なフォームにメソッドを返す、TheirBookクラスを作成できます。

またはYourBookを取り込むPOSTToTheirSiteクラスを作成することはできますが、そのセマンティクスを使用してPOST要求を直接生成します。

どちらの場合でも、セマンティック変換のみを担当するコードの専用ピースを生成し、他の形式のビジネスロジックは生成しません。

関連する問題