【问题标题】:Spring Boot read value from application.propertiesSpring Boot 从 application.properties 读取值
【发布时间】:2018-09-15 17:56:43
【问题描述】:

在我的 application.properties 中,我定义了端口和服务器上下文。

server.port=8080
server.context-path=/SekcjaN

如何读取值上下文以将其插入到控制器中的 RequestMapping 值中。

@RestController
@RequestMapping(value = server.context-path+"/auth")
public class AuthController extends BaseController {
}

【问题讨论】:

标签: java spring-boot gradle application.properties


【解决方案1】:

您不需要将 server.context-path 添加到您的控制器 RequestMapping 中,因为它已经由 spring boot 作为基本路径处理。因此,如果您使用 server.context-path 作为东西,您的所有映射都将以 server.context-path 值作为前缀。

你可以像这样使用你的代码

server.port=8080
server.context-path=/SekcjaN

控制器文件看起来像

@RestController
@RequestMapping(value = "/auth")
public class AuthController extends BaseController {
}

使用<domain>:<port>/SekcjaN/auth/.. 将完美调用您的代码

【讨论】:

  • 所以这个请求应该有效吗? http://localhost:8080/SekcjaN/auth/login
  • 我在 Http 配置中使用这个。 .anyRequest().authenticated(); 然后向我展示 unahthorized。
  • 您的 spring-security 阻止了您必须允许 '/login' 路径的访问
  • 你可以使用类似http.authorizeRequests() .antMatchers("/auth/login").permitAll() .anyRequest().authenticated();
【解决方案2】:

你根本不知道,它已经被暗示了。映射是相对于 Web 应用程序上下文路径的(准确地说:相对于调度程序 servlet,默认情况下映射在应用程序的根路径上)。 server.context-path 配置整个应用程序在服务器中可用的路径。

【讨论】:

    猜你喜欢
    • 2018-01-07
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    相关资源
    最近更新 更多