小编kul*_*sin的帖子

Spring Boot Rest 控制器端点不工作

创建一个简单Spring Boot使用的应用程序Maven。我给了一个带RestController注释的值,但它不起作用。如果我不使用RestController's 值,它会起作用。我想知道,为什么它不起作用以及 value 在 中有@RestController什么用?

http://localhost:9090/app/hello 这给出了错误

http://localhost:9090/hello 这工作正常

@RestController("/app")注释中的"/app"这个值的目的是什么@RestController

PS:我知道,我可以@RequestMapping("/app")在 ScraperResource 类上使用。

@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)
@RestController("/app")
public class ScraperResource {
    @GetMapping("hello")
    public String testController() {
        return "Hello";
    }
}
Run Code Online (Sandbox Code Playgroud)

应用程序属性

server.port=9090
Run Code Online (Sandbox Code Playgroud)

java rest spring spring-boot

2
推荐指数
1
解决办法
3238
查看次数

无法加载在 Docker 中运行的 Spring Boot 应用程序

我用 Gradle v5.6.4 创建了一个简单的 Spring Boot v2.1.10 应用程序,并尝试在 Docker v18.09.9 中运行它,构建 1752eb3。该应用程序在本地运行,但是当我在 Docker 中运行它时,该网页不会在浏览器中加载。不过,它在 Docker 控制台中正确启动,没有任何错误。

Dockerfile 内容

FROM java:8
EXPOSE 9090:8181
ADD /build/libs/docker-app-0.0.1-SNAPSHOT.jar docker-app-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java","-jar","docker-app-0.0.1-SNAPSHOT.jar"]
Run Code Online (Sandbox Code Playgroud)

Springboot 应用程序控制器

@RestController
public class Resource {

    @GetMapping(value = "/home")
    public String home() {
        return "<h1>up!!!.....running from docker!!!</h1>";
    }
}
Run Code Online (Sandbox Code Playgroud)

Docker 运行命令 :~/java-project/docker-app$ sudo docker run -p 9090:8181 springboot

Docker 控制台输出

:~/java-project/docker-app$ sudo docker run -p 9090:8181 springboot

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ …
Run Code Online (Sandbox Code Playgroud)

java spring tomcat docker spring-boot

0
推荐指数
1
解决办法
690
查看次数

标签 统计

java ×2

spring ×2

spring-boot ×2

docker ×1

rest ×1

tomcat ×1