2017-09-14 111 views
-1

我想把我的頁面地址放在yml文件中,但是我遇到了這個問題。在YAML文件中重複

path: 
    api.v1.0: /api/v1.0 
    api.v1.0: 
    register: ${path.api.v1.0}/register 
    register: 
     token: ${path.api.v1.0.register}/token/{token} 
它得到了這樣的錯誤

Caused by: org.yaml.snakeyaml.parser.ParserException: while parsing MappingNode 
in 'reader', line 5, column 5: 
     register: ${path.api.v1.0}/register 
     ^
Duplicate key: register 
in 'reader', line 39, column 1: 

爲什麼它不工作的編譯過程中

PS:這是一個很好的方式來放置地址在XML或屬性文件?這是專業嗎?

+0

您的示例不是有效的YAML文件。映射中的關鍵需要是唯一的,這在文檔中多次提及(如[3.2.1.1節](http://www.yaml.org/spec/1.2/spec.html#id2764044) )。 – Anthon

回答

0

無論好壞取決於預期的用途,所以我不能在那裏增加很多價值。但重複是因爲你的對象有重複的鍵。您可能需要將數組視爲數據結構:

paths: 
    - 
    name: api.v1.0 
    path: /api/v1.0 
    paths: 
     - 
     name: register 
     path: "${path.api.v1.0}/register" 
     - 
     name: register-token 
     path: "${path.api.v1.0.register}/token/{token}" 
+0

如何獲得value @Value值(「$ {api.v1.0.register}」) - 不工作 – sdfsd

+0

在JVM啓動過程中,您可以將'api.v1.0.register'作爲環境變量傳遞。 –

+0

我想把值放在@RequestMapping(value =「$ api.v1.0.register}」) - 不工作 – sdfsd