问题标签 [spring-data-rest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
721 浏览

client - 为 Spring 数据休息服务生成客户端库

我正在编写 spring 数据休息服务,并希望将 Java 客户端生成为 jar 文件以供我的其他项目使用。那么是否有一些自动生成客户端的方法,或者我必须自己编写一个。如果有任何一种方式,你可以帮助我开始这个。

谢谢

0 投票
1 回答
190 浏览

converters - 手动 Spring-data-rest 转换器

你能推荐一个关于 spring-data-rest 转换器的教程吗?我在这个问题上停留了一个星期,我阅读了很多关于它的帖子和小手册,但我仍然不知道它是如何工作的或如何配置一个

预先感谢您的帮助

0 投票
1 回答
672 浏览

spring-data-rest - 春季数据休息

我知道 Spring Data REST 允许将基于 JPA 的存储库导出为 RESTful 端点。但是,在我的情况下,我在域实体类(用 @Entity 注释)和 REST 表示类(映射被处理)之间有一个映射推土机)。用户可以单独通过 REST 表示访问资源,该表示将在内部映射到实际资源。问题:我可以在不更改域层的情况下使用 spring data REST 将表示类转换为 restful 端点吗?还是仅在可以导出的扩展 CRUDRepository/MongoDB 的存储库接口级别?

0 投票
2 回答
7521 浏览

spring - 如何避免使用 Spring Data Rest 进行 n+1 查询?

问题。如何避免使用 Spring Data REST 进行 n+1 查询?

背景。在查询 Spring Data REST 以获取资源列表时,每个生成的顶级资源都具有指向关联资源的链接,而不是将关联资源直接嵌入顶级资源中。例如,如果我查询数据中心列表,相关区域会显示为链接,如下所示:

然而,想要获得相关信息而不需要进行 n+1 次查询是非常典型的。为了坚持上面的例子,我可能想在 UI 中显示数据中心及其相关区域的列表。

我试过的。我在 my 上创建了一个自定义查询,RegionRepository以获取给定数据中心键集的所有区域:

不幸的是,此查询生成的链接不会与上述数据中心查询生成的链接重叠。以下是我为自定义查询获得的链接:

挑战似乎在于,一旦您已经了解了数据的形状,数据中心查询返回的链接并不是特别有用。例如,我已经知道数据中心 1 的区域位于/datacenters/1/region,所以如果我想了解涉及哪个特定区域的实际信息,我必须点击链接获取。特别是,我必须按照链接获取显示在批量查询中的规范 URI,这将允许我避免 n+1 查询。

0 投票
1 回答
192 浏览

cloud-foundry - Spring Data / REST - 在 Cloud Foundry 上托管时绝不会暴露任何内容

我有一个非常基本的调查应用程序:

  • 一个 JPA 实体 ( Survey.java)
  • 一个 Spring MVC 控制器 ( SurveyController.java)
  • 一个 Spring Data/JPA 存储库 ( SurveyRepository.java)
  • 3 个主要步骤,每个步骤都匹配一个特定的验证组
  • 通过 Spring Data/REST 配置公开的 REST API(请参阅 参考资料ApiConfiguration.java

你可以在这里看到它:http: //survey-preprod.cloudfoundry.com/。来源可在此处获得:https ://github.com/fbiville/spring-example-survey ://github.com/fbiville/spring-example-survey 。

只需正确填写表格(3 个步骤 - 只需回答任何问题),直到您看到“谢谢!” 页。然后继续:http ://survey-preprod.cloudfoundry.com/api/survey ://survey-preprod.cloudfoundry.com/api/survey并注意根本没有内容!

我推送到 Cloud Foundry 的所有 Spring Data / REST 都会发生这种情况。在本地运行时,根本没有任何问题。

有什么我错过的吗?

提前致谢, 罗尔夫

编辑:即使有

curl -v -H "Accept: application/json" -X GET http://survey-preprod.cloudfoundry.com/api/survey

(因此正确设置了接受标头),没有内容被暴露...

0 投票
1 回答
820 浏览

jquery - Spring Data / REST - Javascript(jquery,backbone)restful调用最终得到404响应

我有一个示例应用程序:https ://github.com/LateralThoughts/orsyp-frontend-training/tree/master/zupr_trackr 。它通过 Spring DATA/REST 处理的 REST 资源公开了 3 个 JPA 实体(CompanyEmployeeActivity )。

例如,虽然我可以通过浏览器 REST 插件成功查询 REST API,但以下查询(在同一域或另一个域上)总是返回 404:

在比较生成的 HTTP 请求(通过 REST 插件)和 jquery 驱动的请求时,我们注意到的唯一区别是在第一种情况下没有“Referer”,而在最后一种情况下它存在。

使用 REST 附加接口添加此标头将导致请求失败,如前所述。

欢迎任何想法,提前谢谢

罗尔夫

PS:对于 GET/POST 和其他动词也是如此。

0 投票
1 回答
1226 浏览

spring - 使用 Spring Data REST 和 PUT 方法将值更新为 NULL

我正在使用使用 CRUD 存储库的 Spring Data REST,一些值应该是可选的 NULL,但是如果我尝试将它们设置为 null,则相关字段将被忽略。如果我发送非 NULL 数据,它会按预期工作

有没有办法允许这个功能?

这是一个示例 PUT 请求正文

0 投票
5 回答
16231 浏览

rest - 带有 AngularJS 的 HATEOAS 客户端

我想知道是否有任何隐藏在 Angular 中或由某些 3rd 方库公开的功能来轻松创建符合 HATEOAS 的 Restful 客户端。

在后端,我使用 Spring Data/REST 来生成 HATEOAS JSON API。但是,消费它是另一回事。

例如,我有这 3 个实体:

  • 公司{name, address}
  • 员工{firstName, lastName, employer[Company]}
  • 活动{rate, day, employee[Employee], client[Company]}

并请求一个活动(模型中最复杂的实体)会产生如下内容:

我的 API 在 REST(由链接标识的资源)方面进行讨论。例如,一个 Activity 有一个 Employee。我真正想要使用的是:{rate: 456, day: 1366754400000, employee: {firstName:"xxx", lastName:"xxx" ...}}

但是,正如您在第一个输出中看到的那样,我的 Activity 仅包含指向员工的链接,而不包含其数据。Angular 或第 3 方库中是否有任何东西可以解析这些链接并嵌入结果数据?

对此有任何意见吗?

提前致谢!

0 投票
1 回答
592 浏览

spring - Spring MVC应用程序中的静态资源(js,css ..)在添加spring-data-rest时不可用

我有一个工作正常的现有 mvc 应用程序,但是当我添加

启用 spring-data-rest 然后是通过提供的静态资源

无法访问。实际上我在请求静态资源时在日志中得到了这个

有什么建议吗?提前致谢

0 投票
2 回答
2467 浏览

java - SpringDataRest 并显示欢迎文件列表/禁用链接发现

我在我的 spring-mvc 应用程序中使用 spring-data-rest(1.0.0.RELEASE) 但我遇到了以下问题

在我的 WebConfig

这里这个案例RepositoryRestMvcConfiguration有一个bean RepositoryRestController,它的方法listRepositories(...)用注释

现在的问题是,当我点击根上下文("/")时,我得到了指向我的存储库的链接,如下所示

}

但我想显示 index.html 文件。

我想禁用在根上下文中发现链接。

我尝试使用自定义控制器映射到根上下文的事件,("/")但第一优先级的 spring 与该RepositoryRestController's.listRepositories(...)方法匹配。

它没有进入我的控制器方法。在日志中它是这样的