该问题是以下问题的重复项,该问题已经存在5年以上了,尚未得到公认的答案。
How to escape "," (comma) in Spring String to array or List conversion
我有一个包含docker的spring-application,可以通过环境变量进行自定义。
Spring将拾取环境变量并将其映射到配置类中的字段。
这样的字段之一就是List<String>
。它可以将我的环境变量正确地用逗号分隔。当我的一个字段包含逗号时,就会出现问题。
我尝试了以下方法:
-e LIST1='"1","2a,2b","3"'
-e LIST2="'1','2a,2b','3'"
-e LIST3="1,2a\,2b,3"
-e LIST4="1,2a\\,2b,3"
-e LIST5='1,2a\,2b,3'
-e LIST6='1,2a\\,2b,3'
在每种情况下,spring都只是在逗号字符之间进行字符串分割,导致我的某些值包含诸如
\
,'
,"
之类的字符。
最佳答案
您在 Spring 启动时无法转义逗号以获取列表,恐怕您将不得不考虑加载这些环境变量的另一种方法
关于java - 如何在映射到Spring配置类中的列表的环境变量中转义逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59829418/