程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么摘录投影不会自动应用于Spring Data REST项目资源?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决为什么摘录投影不会自动应用于Spring Data REST项目资源??

开发过程中遇到为什么摘录投影不会自动应用于Spring Data REST项目资源?的问题如何解决?下面主要结合日常开发的经验,给出你关于为什么摘录投影不会自动应用于Spring Data REST项目资源?的解决方法建议,希望对你解决为什么摘录投影不会自动应用于Spring Data REST项目资源?有所启发或帮助;

那按设计工作。每当usermodel@H_301_2@在_embedded@H_301_2@子句中使用目标类型的实例(就你而言)时,都会使用摘录投影。因此,摘录是某种在资源未呈现但指向的地方都使用的预览。从集合资源或关联中通常是这种情况。

从另一个角度来看,默认情况下在项目资源上使用摘录投影实际上没有任何意义:摘录投影是某些域对象上的只读视图。如果默认情况下返回该视图以查看项目资源,客户端将如何知道必须发送哪些数据来更新资源。根据定义,不能简单地提取,修改和使用摘录投影创建的JsON文档来发送PUT@H_301_2@请求以更新资源。

如果要将投影应用于项目资源,请projection@H_301_2@使用投影名称填充URI模板变量。

编辑:如果你手动选择它们而无法应用这些投影,请确保已将InlineBusinessusermodelProjection@H_301_2@其实际注册为一般用途。确保类型位于的相同包装或子包装中usermodel@H_301_2@。或者,通过手动注册投影RepositoryRestConfiguration.projectionConfiguration().addProjection(…)@H_301_2@。手动配置使得在@Projection@H_301_2@投影类型上的使用已过时。

解决方法

做了一个投影,该投影应该暴露嵌套实体:

@Projection(name = "inlineBusiness",types = { UserModel.class })
public interface InlineBusinessUserModelProjection {

    String getUsername();

    String getFirstName();

    String getLastName();

    Date getBirthdate();

    String getEmail();

    BusinessModel getBusiness();
}

和服务存储库:

@RepositoryRestresource(collectionresourceRel = "users",path = "users",excerptProjection = InlineBusinessUserModelProjection.class)
public interface UserRepository extends BaseDAO<UserModel> {..}

因为/users它可以正常工作,所以业务领域是使用嵌套实体公开的,但是当我调用时/users/1-什么也没有,所有自定义方法也都没有/users

大佬总结

以上是大佬教程为你收集整理的为什么摘录投影不会自动应用于Spring Data REST项目资源?全部内容,希望文章能够帮你解决为什么摘录投影不会自动应用于Spring Data REST项目资源?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。