0

sypne を使用して REST アプリケーションを構築しようとしています。JSON ドキュメントを受け取りたい (ただし、オブジェクトの名前として呼び出されるメソッドを使用しない)。明確にするために例を示します。http://localhost/root次の内容で URL にPOST を作成します。

{ "id": 1, "desc": "number" }

そして、私は自分のスパインアプリケーションを持っています:

class HelloWorldService(ServiceBase):
    @rpc(_returns=AnyDict)
    def root(ctx):
        json_in=""
        for data in ctx.in_string:
            json_in = json_in + data
        return json.loads(json_in)

application = Application([HelloWorldService],
          tns='com.hello.webservices',
          in_protocol=HttpRpc(validator='soft'),
          out_protocol=JsonDocument()
      )

そして、これを行うためのより良い方法が必要であることを私は知っています! ドキュメントまたは解決策へのポインタは、事前に高く評価されています!

よろしく

4

1 に答える 1

0

Spyne にはその機能がありません。独自のプロトコルを実装する必要があります。

とても簡単です。私の頭の上から:

class HybridHttpJsonDocument(JsonDocument):
    def create_in_document(self, ctx):
        super(HybridHttpJsonDocument, self).create_in_document(ctx)

        # get url fragment from ctx.transport.req_env

        ctx.in_document = {url_fragment: ctx.in_document}

あなたがする必要があると私が考えることができるのはそれだけです。また結果報告お願いします!

よろしくお願いします、

于 2014-06-12T12:25:36.547 に答える