1

ピラミッドで記述された RESTFul API があります。ビュー関数は、request.POST および request.matchdict でデータを処理し、json 応答を返します。

例: ビュー クラス内のメソッド。

@view_config(route_name="temp_name", request_method="PUT")
def put_item(self):
    # validates and processes self.request.POST 
    # validates and processes self.request.matchdict
    # returns json reponse

ご覧のとおり、ビューメソッド内で検証を行っていますが、これは避けたいと考えています。私の意図は、検証を実際の機能から分離することです。どうすればこれを処理できますか?

私は水切りhttp://cornice.readthedocs.org/en/latest/validation.html#using-colanderを見ました。しかし、私がまったく使用していないコーニスと統合されているようです。また、アプリ全体をコーニスに変換することはできません。私のアプリで上記のリンクと同じ方法でザルを使用することは可能ですか?

RESTFul API を書くのはこれが初めてで、ピラミッドと水切りの学習も始めたばかりです。君の力が必要。前もって感謝します。

4

1 に答える 1

2

コランダーはコーニスとは別に使用できます。ピラミッド アプリケーションで Colander スキーマを使用する最も基本的な例は、次のとおりです。

このようにして、colander スキーマとバリデーターを使用してスキーマ検証をカプセル化できます。

そのトピックへのピラミッド 1.5 ブランチの最近の紹介は、次のとおりです。

ああ、そのSOの質問を見てください。私はそれが好きでした、それはあなたにも役立つかもしれません:

于 2014-01-16T11:59:46.357 に答える