spyne.ioの例から:
class HelloWorldService(ServiceBase):
@srpc(Unicode, Integer, _returns=Iterable(Unicode))
def say_hello(name, times):
for i in range(times):
yield 'Hello, %s' % name
application = Application([HelloWorldService],
tns='spyne.examples.hello',
in_protocol=JsonDocument(validator='soft'),
out_protocol=JsonDocument()
)
これは、呼び出されたメソッド名が JSON 本体の唯一のキーでなければならないことを意味します。
$ curl -s http://localhost:8000/ -d '{"say_hello": {"name": "World", "times": 5}}'
本文にメソッド名を含めないようにしたいのですが、メソッド名は HttpRpc の場合と同じように URL から取得します。
$ curl -s http://localhost:8000/say_hello -d '{"name": "World", "times": 5}'
このようなリクエストを処理できるようにサービスを定義するにはどうすればよいですか?