0

根据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 发送匹配,应用程序开发人员不采取任何行动。

4

0 回答 0