[英]why is this simple delete method won't work anymore in springBoot project?
[英]simple springboot not work on aws
我使用示例默认项目创建了一个弹性benstalk,并且工作正常,但是在我上载spring boot项目之后,它不起作用,但是在localhost上运行良好。 为了更好地检查错误,我做了一个非常简单的spring boot项目,仅具有Web依赖项和一个简单的终结点,但尚无法使用
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
我仅创建此类
package com.example.demo.Testing;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestingAWS {
@GetMapping()
public ResponseEntity<?> sayOk(){
return new ResponseEntity<>(HttpStatus.OK);
}
}
和@SpringBootApplication
package com.example.demo;
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
} }
我尝试在application.properties中没有配置的情况下运行,并使用:
server.port=8080
我发动战争
mvn clean install
并且在mvn spring-boot:run
上mvn spring-boot:run
以在localhost上部署并正常工作后,端点返回状态200
但是我在控制台上给了这个错误
2018-04-18 16:30:55.468 INFO 19224 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-04-18 16:30:55.469 INFO 19224 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
并且此应用程序不适用于AWS。 错误日志:
我放了一个链接,因为它很大,而且stackoverflow说我超出了caracteres限制
但健康地说服务器还可以
但是如果尝试执行请求,则会出现此错误:
<html>
<head>
<title>502 Bad Gateway</title>
</head>
<body bgcolor="white">
<center>
<h1>502 Bad Gateway</h1>
</center>
<hr>
<center>nginx/1.12.1</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
您创建了@SpringBootApplication吗?
您是否尝试过更换? 只是为了查看方法是否生成问题?
如果只想返回HttpStatus,则应该将方法更改为:
public HttpStatus sayOk(){
return HttpStatus.ok;
}
这个:
2018-04-18 16:30:55.468 INFO 19224 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-04-18 16:30:55.469 INFO 19224 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
不是错误。 这意味着Spring Boot正在使用端点/error
注册一个控制器。 是春天启动的默认行为,如解释在这里 :
如果您在配置中未指定任何自定义实现,则Spring Boot会自动注册BasicErrorController bean。
您还可以看到日志级别是INFO
而不是ERROR
。
Spring Boot可能不是错误502 Bad Gateway的原因。 有许多原因导致此错误。 我建议您创建另一个问题,重点放在您的AWS设置上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.