Google App Engine のエンティティの検証と変換はどこで、どのように実行すればよいですか?

StackOverflow https://stackoverflow.com/questions/1805830

質問

Ruby on Rails では、各モデル エンティティには「validate_on_」があります。何か" フック メソッド。エンティティが実際にデータベースに保存される前に呼び出されます。Google App Engineにも同様の機能が欲しいです。宣言で引数を渡すことで、個々のプロパティを検証できることは承知しています。ただし、それ以上の検証を実行したい場合、モデル クラス宣言内にそれを実行できる場所はありますか?

また、同様に、エンティティを実際にデータベースに保存する前に、エンティティの変更が必要になる場合もあります。実際にデータベースに書き込まれる直前に、エンティティを変更 (変換) する必要がある場合があります。エンティティクラス宣言の中にそれを可能にする場所はありますか?

これらの変換/検証をクラスの外に配置できることはわかっています。しかし、これは良い OO デザインとは思えません。この種のニーズに対応するために、モデル内で自動的に呼び出されるフック メソッドが必要であるように思えます。

そこで私の質問は、エンティティを永続化する前にエンティティの検証と変換を処理する最も適切な方法は何でしょうか?

役に立ちましたか?

解決

最良の答えは、どのような変換を行う必要があるかによって異なります。モデルには一般化されたpre- / post-putメソッドはありませんが、他にもいくつかのオプションがあります。

他のヒント

生のアプリ エンジン API の上に何らかの Web フレームワークを使用していますか?Rails は非常に高レベルのフレームワークです。Django やその他の Web フレームワークを調べたことがありますか?これらは、生の Appengine エンティティよりもレールに近いことがわかるかもしれません。

あるいは、何か欲しいことがあれば より低い レベルについては、この記事をご覧ください。フック

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top