在投影中使用特性值

nimxete2  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(300)

我有一个springdatarest应用程序,在这里我创建了这样一个投影

@Projection(name = "UserWithAvatar", types = { User.class })
public interface UserWithAvatar {
    String getName();
    String getEmail();

    @Value("${app.url}/pictures/#{target.imageId}")
    String getAvatar();
}

非工作部分是 getAvatar ,它生成一个用于查看图片的url。
然而这 ${app.url} 在投影内不工作。
如何在其中添加application.properties值?

2hh7jdfx

2hh7jdfx1#

使用 @environment.getProperty('app.url') 内部 #{} 阻止。它适用于SpringBoot2.3.0,我不确定是否有旧版本。
例子:

@Value("#{target.pictureUrl ?: @environment.getProperty('app.url') + 'static/default-avatar.png'}")
String getAvatarUrl();

相关问题