package org.zalando.catwatch.backend.web.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.Map; import java.util.Properties; import java.util.SortedMap; import java.util.TreeMap; import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; import static org.springframework.web.bind.annotation.RequestMethod.GET; @Controller public class ConfigController { private final Environment env; @Autowired public ConfigController(Environment env) { this.env = env; } @RequestMapping(value = "/config", method = GET, produces = { APPLICATION_JSON_VALUE }) @ResponseBody public Map<String, String> config() throws Exception { Properties properties = new Properties(); properties.load(getClass().getResourceAsStream("/application-public.properties")); SortedMap<String, String> result = new TreeMap<>(); properties.stringPropertyNames().stream().forEach(name -> result.put(name, env.getProperty(name))); return result; } }