我有一个具有以下上下文路径的spring boot应用程序:
server.servlet.context-path:/api
我需要编写一个映射到的rest控制器 http://localhost:8080/logout 而不是http://localhost:8080/api/logout
有没有办法做到这一点?不能更改“ server.servelt.context-path”值。
这是我尝试但没有起作用的:
@GetMapping(value="../signout"){
public void logout(){
}
答案 0 :(得分:1)
Nero,您说不能更改“ server.servlet.context-path”值。我敢打赌,您之所以这么说是因为您不想破坏API,但是我认为您可以在不破坏API的情况下进行更改。将上下文路径设置为空白,这是允许的。然后,在您的应用程序中,将我认为当前为“ /”的“ api”映射更改为“ api”。
将server.servlet.context-path:/api
更改为server.servlet.context-path:/
或也许更改为server.servlet.context-path:
(无斜杠)。 (假设这是默认设置,所以您可以将其完全删除。)
在您的应用程序中的某处将@RequestMapping("/")
更改为@RequestMapping("/api")
。
现在您还可以拥有@GetMapping(value="/signout")
,并且您将在http://localhost:8080/logout和http://localhost:8080/api拥有资源。
我不知道您碰巧正在使用什么映射注释,但是希望这已经足够清楚了。
答案 1 :(得分:0)
在该应用程序内可能无法超出其上下文根。也许您可以为该特定网址创建一个单独的Rest服务应用,然后从那里获取。