工具

HAL Explorer

Kai Tödter 创建了一个有用的应用:HAL Explorer (Git 仓库, 参考文档, 演示)。它是一个基于 Angular 的 Web 应用,可以轻松探索基于 HAL 和 HAL-FORMS 的 HTTP 响应。它还支持 Spring Data REST 生成的 Spring profile。你可以将其指向任何 Spring Data REST API,并用它来导航应用和创建新资源。

您无需下载文件、将其嵌入应用并编写 Spring MVC 控制器来提供服务,只需添加一个依赖即可。

以下列表展示了如何在 Maven 中添加此依赖

<dependencies>
  <dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-rest-hal-explorer</artifactId>
  </dependency>
</dependencies>

以下列表展示了如何在 Gradle 中添加此依赖

dependencies {
    implementation 'org.springframework.data:spring-data-rest-hal-explorer'
}
如果您使用 Spring Boot 或 Spring Data BOM (物料清单),则无需指定版本。

此依赖会自动配置 HAL Explorer,当您在浏览器中访问应用的根 URI 时即可使用。(注意:在浏览器中输入 localhost:8080/api,它会重定向到下图中显示的 URL。)

hal explorer 1

上图显示了 API 的根路径。右侧是响应的详细信息,包括请求头和响应体 (一个 HAL 文档)。

HAL Explorer 读取响应中的链接,并将其列在左侧列表中。您可以点击绿色的 GET 按钮导航到其中一个集合,或者点击其他按钮进行修改 (POST, PUT, PATCH) 或删除资源。

HAL Explorer 理解 URI 模板。当链接包含 URI 模板时,会弹出一个模态对话框,您可以在其中输入模板参数。

hal explorer 3

如果您点击 Go! 但未输入任何内容,变量将基本上被忽略。对于 投影和摘录分页和排序 等情况,这可能很有用。

当您点击带有 +> 符号的非 GET 按钮时,会弹出一个模态对话框。它显示了该按钮对应的 HTTP 方法。您可以填充请求体并提交新的 JSON 文档。

在 URI 和 HTTP 方法下方是字段。这些字段会根据 Spring Data REST 自动生成的资源元数据自动提供。如果您更新域对象,弹窗会反映出这些变化,如下图所示

hal explorer 2