Java Spring Cloud — как прочитать конфигурацию в Nacos?

#java #spring #spring-boot #cloud #service-discovery

#java #spring #spring-boot #облако #обнаружение службы

Вопрос:

Я собираюсь прочитать конфигурацию в Nacos в моем контроллере. В Windows я могу прочитать ее правильно, но не в Linux. Мне это нужно для реализации REST API для загрузки и выгрузки файлов с Java Spring Cloud. Я отлично понял это в Windows. Но это вообще не работает в Linux.

Вот подробности.

JDK: 1.8

pom.xml

 <spring.boot.version>2.2.11.RELEASE</spring.boot.version>
<spring.plugin.version>2.2.0.RELEASE</spring.plugin.version>
<spring.cloud.version>Hoxton.SR8</spring.cloud.version>
 
 @Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/media-file")
@Api(value = "File Upload", tags = "")
public class MediaFileController extends BladeController {
    public static final String MEDIA_FILE_TYPE_BOND_PRICE = "bondPrice";

    @Autowired
    public Environment env;

    @PostMapping("upload")
    @ApiOperationSupport(order = 12)
    @ApiOperation(value = "Upload", notes = "Import excel")
    public R upload(MultipartFile file, @ApiParam(value = "文件类型", required = true) @RequestParam 
    String type, @RequestParam Map<String, Object> data) {

        log.info("===> "   this.env.getProperty("spring.servlet.multipart.file-size-threshold"));
    }
}
 

Проблема:

Я могу прочитать точное значение this.env.getProperty("spring.servlet.multipart.file-size-threshold") в Windows. Но я не мог прочитать это в Linux. Я хотел бы знать, как я могу получить доступ к конфигурации narcos.

Кроме того, загрузка файлов вообще не работает в Linux. Существует ли какая-либо конкретная настройка конфигурации или разрешений?

Заранее спасибо!

Ответ №1:

вы можете ввести свою конфигурацию следующим образом:

 @NacosValue(value = "${spring.application.name}", autoRefreshed = true)
private String applicationName;