我正在尝试阅读像这样的REST HATEOAS回应:
{
"_embedded": {
"tasks": [
{
"id": 1,
"name":"task1"
"_links": {
"self": {
"href": "http://localhost:8080/v1/tasks/1"
},
"tasks": {
"href": "http://localhost:8080/v1/tasks"
}
}
}
]
},
"_links": {
"self": {
"href": "http://localhost:8080/v1/tasks?page=0&size=1"
}
},
"page": {
"size": 1,
"totalElements": 1,
"totalPages": 1,
"number": 0
}
}
我试图遵循Spring's留档的例子:Spring hateoas traverson。
Java代码:
...
TypeReferences.ResourcesType<Resources<Task>> resourceParameterizedTypeReference = new TypeReferences.ResourcesType<Resources<Task>>(){};
Traverson traverson = new Traverson(new URI("http://localhost:8080/v1/tasks"), MediaTypes.HAL_JSON);
Traverson.TraversalBuilder builder = traverson.follow(rel("tasks")).withHeaders(headers);
Resources<Resources<Task>> taskResources = builder.toObject(resourceParameterizedTypeReference);
...
但是我得到了这个错误:
Did not find LinkDiscoverer supporting media type text/html!
原因:“follow(rel(“tasks”))”未找到“tasks”。
我正在尝试其他类似的解决方案:使用spring hateoas反序列化包含(\u links和\u embedded)的JSON,我得到错误“期望找到带有rel的链接…”也
也许最后我不明白使用遍历对象的好方法。
我通过用Json解析自己的响应来解决我的问题,但它们是获取bean列表中“\u embedded”标记中包含的列表的另一种方法吗?
如果你有一些例子,我很有趣:)。
我认为需要使用Json路径表达式来访问嵌入的内容。
Traverson.TraversalBuilder builder = traverson.follow("$._embedded.tasks[0]").withHeaders(headers);
Resources<Resources<Task>> taskResources = builder.toObject(resourceParameterizedTypeReference);
以下工具对于使用路径表达式非常有用:http://www.jsonquerytool.com/
顺便说一句,您的JSON在“name”之后缺少一个“,”。
我正在寻找HAL中嵌套_embedded如何使用Spring HATEOAS API编程的例子。最佳实践是什么? 下面是我想要实现的一个例子:
我跟着Spring走。io是一个关键的教程,可以让REST API与MySQL DB一起启动,一切都进展顺利。然而,我发现了一个我无法配置或解决的行为。 当我使用内置功能从PagingAndSortingRepository中检索资源时,生成的剩余资源会自动分页,并用有用的HAL链接(链接、self、搜索、链接资源等)进行封装。我想用这个。 当我实现我的控制器来定制PostMapping行为并引入
我用了Spring初始化器(https://start.spring.io/)来创建一个只包含初学者“Jersey(JAX-RS)”和“HATEOAS”的应用程序。然后我添加了@EnableHypermediaSupport(type=HAL),但我无法以HAL格式正确呈现链接。 我的目标格式是: 我目前得到的是: 除了初始化器生成的类之外,我还添加了这个配置 此资源(终结点): 和一个虚拟bea
我想使用REST API的HAL格式来包含嵌入式资源。我在API中使用Spring HATEOAS,Spring HATEOAS似乎支持嵌入式资源;但是,没有关于如何使用此功能的文档或示例。 有人能提供一个如何使用Spring HATEOAS包含嵌入式资源的例子吗?
我正在尝试使用RestTemboard类使用基于HAL的REST服务。响应正文如下所示: 老师的课是这样的: GET方法的REST服务的返回类型是
我正在尝试配置我的应用程序上下文,以便能够在我的应用程序中使用带有嵌入式图形的Neo4j服务器,但没有多大成功。我同时使用Spring数据(Mongo和Neo4j存储库方法)。这是我的应用程序上下文,未运行: 如果我不使用这种方法,只指定存储目录(注释行),那么一切都可以正常运行。我怀疑这是SDN和neo4j服务器之间的版本问题。这是我的POM: 它的父项作为依赖项Spring(核心、上下文、测试