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 公开)并查看结果。
我有一个带有 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 公开)并查看结果。