我有一个后端托管在 Azure AppService (linux) 上,这是一个 SpringBoot 3 应用程序。 我把一个
apple-app-site-association.json
文件放到 /static/ 并添加了一个 WebMvcConfigurer 这样的:
override fun addResourceHandlers(registry: ResourceHandlerRegistry) {
// web in jar
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/static/")
.resourceChain(true)
.addResolver(object : PathResourceResolver() {
@Throws(IOException::class)
override fun getResource(resourcePath: String, location: Resource): Resource? {
val requestedResource = location.createRelative(resourcePath)
return if (requestedResource.exists() && requestedResource.isReadable) {
requestedResource
}
// env dependent file for ios universal deeplinks
else if (resourcePath == "apple-app-site-association") {
ClassPathResource("/static/apple-app-site-association-${environment.activeProfiles.first()}.json")
}
else {
ClassPathResource("/static/web/index.html")
}
}
})
}
我经常读到 .json 不应该包含在文件名中,但是我在使用这个资源处理程序设置内容类型时遇到了一些麻烦,我不确定这样做是否也有必要,因为 https:/ /branch.io/resources/aasa-validator/ 验证域。
安装应用程序后,该应用程序在设备控制台中出现错误
Error getting enterprise-managed associated domains data
。