Spring 云服务器前缀导致错误 404

Spring cloud server prefix cause error 404

我有Spring个配置如下的云服务器:

# Spring
spring.cloud.config.server.native.searchLocations=file:/data/config/
spring.jmx.default-domain=${spring.application.name}
endpoints.jmx.domain=${spring.application.name}
endpoints.jmx.unique-names=true
spring.profiles.active=native
spring.profiles.include=prod,machine
info.app.name=${spring.application.name}
spring.mvc.servlet.load-on-startup=1

# Config server
ms-configuration.config.path=/data/config/
ms-configuration.profile.default=prod
ms-configuration.backup.fullPath=/home/afa/msConfigBackup.zip

# Logging
logging.file=/data/algosec-ms/logs/${spring.application.name}.log

#Endpoints
management.endpoints.web.exposure.include=health,info,backup,restore
management.endpoints.web.base-path=/

而且效果很好。 我正在尝试为服务器添加新的休息控制器以支持招摇。 然而,所有其余调用都会自动识别为配置请求。 所以我在 application.properties 文件中添加了前缀选项:

spring.cloud.config.server.prefix=/config

现在所有其他回复都是

{"timestamp":"2020-01-09T11:31:22.063+0000","status":404,"error":"Not Found","message":"No message available","path":"/ms-configuration/config"}

我尝试了以下卷曲并得到了相同的结果。

curl -X GET http://localhost:8082/ms-configuration/config/swagger/

curl -X GET http://localhost:8082/ms-configuration/config/

curl -X GET http://localhost:8082/ms-configuration/config/app_a

如何才能让我的 Spring 云服务器既是配置服务器又是休息的 API 控制器?

谢谢!

您需要将 curl 更改为:

curl -X GET http://localhost:8082/config/ms-configuration/swagger/

curl -X GET http://localhost:8082/config/ms-configuration/

curl -X GET http://localhost:8082/config/ms-configuration/app_a

因为spring.cloud.config.server.prefix是加在url前面的前缀。 (假设您没有上下文路径)