http://perfect.org/feature-requests.htmlに従って
RAML機能をすぐに使えるようにお願いしたいと思います。
RAMLドキュメントを提供するために、サーバーで次のようなものを見たいと思います:
server.addRamlDocs(path: "/raml.raml", versionRaml: 1.0, versionApi: "v1", title: "Test API title")
これにより、一致した場合にすべての RAML ルートの完全な RAML ファイルを作成するルートが追加されます。
RAML ルートはおそらく MustachePageHandler と同様の方法で作成する必要がありますが、RamlDescriptionHandler、RamlValidateRequestHandler、RamlRequestHandler、および RamlResponseHandler に分割する必要があります。
RamlDescriptionHandler
これは次のことを担当する必要があります。
- リクエスト/レスポンスの説明
- リクエストのドキュメントを自動的に作成する (サーバー ドキュメントが一致した場合)
RamlValidateRequestHandler
- リクエストの検証と型キャスト
これにより、HTTPRequest.ramlRequestData と HTTPRequest.ramlRequestIsValid が注入されます。これには、アプリケーション開発者のアクションは必要ありません。
RamlRequestHandler
開発者がコーディングするアプリケーション ロジックは、HTTPRequest.ramlRequestData と HTTPRequest.ramlRequestIsValid を確認して使用する必要があります。
HTTPResponse.ramlStatus (HTTP ステータス コード) と HTTPResponse.ramlData を設定する必要があります。
RamlResponseHandler
応答を検証し、RamlDescriptionHandler に対して一致するものを送信する必要があります。アプリケーション開発者からのアクションはありません。