HAL 浏览器未在列表中显示 URL

HAL browser is not showing URL in the list

我有一个带有 hal 浏览器的 spring-data-rest 项目。我的方法是返回 List<String> 但它没有列在 url 的 hal 浏览器列表中。但是我可以访问它。我的方法是

@RestController
public class UtilRepository {
    private SomeClass someClass ;
    @GetMapping("/getSomething")
    List<String> getSomethingUsingRest(){
        someClass = new SomeClass();
        try {
           return Arrays.asList(someClass.getArrayOfRecords());
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

我可以访问 http://localhost:8080/getSomething 但是当 运行 使用 hal 浏览器的程序时,url /getSomething 没有出现在 hal 浏览器中。

为了延续我在原 post 中的评论,我写这篇文章是为了分享代码和屏幕截图。这可能不是完整的答案。

这是我的控制器:

@RestController("generalController")
public class GeneralController {
    @RequestMapping(path = "/urls")
    public List<String> getUrls() {
        return Arrays.asList("http://abc", "http:def", "http://ghe");
    }
}

这是从普通浏览器访问端点时的响应:

[
"http://abc",
"http://def",
"http://ghe"
]

这是 HAL 浏览器中同一端点处于热状态时的屏幕截图:

我 运行 时没有发现任何问题。您能否 post 包含原始响应的完整 HAL 浏览器快照,以便我们更好地了解您的问题?

@ashish 澄清后更新

这就是您在 HAL 浏览器中看不到 API 的原因:

  • HAL 浏览器通过扫描定义的存储库 (@Repository) 和实体 (@Entity) 列出链接,并在顶层形成自己的链接。
  • 不需要@RestController。事实上,它完全忽略了其余控制器及其所有方法。
  • 您始终可以在 HAL 浏览器中键入常用 REST API 的完整 URL(从 @RestController 公开)并查看结果。