java - Spring Rest API 中的日期时间格式
问题描述
我无法运行应用程序,其显示错误如下,
应用程序无法启动
描述:
试图调用不存在的方法。尝试是从以下位置进行的:
org.apache.catalina.authenticator.AuthenticatorBase.startInternal(AuthenticatorBase.java:1321)
以下方法不存在:
javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
该方法的类 javax.servlet.ServletContext 可从以下位置获得:
jar:file:/D:/Comau_Mes/datemes/lib/javax.servlet.jar!/javax/servlet/ServletContext.class
jar:file:/C:/Users/YASH/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar!/javax/servlet/ServletContext.class
jar:file:/C:/Users/YASH/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.35/tomcat-embed-core-9.0.35.jar!/javax/servlet/ServletContext.class
它是从以下位置加载的:
file:/D:/Comau_Mes/datemes/lib/javax.servlet.jar
行动:
更正应用程序的类路径,使其包含一个兼容的 javax.servlet.ServletContext 版本
进程以退出代码 0 结束
文件如下,
文件-----> Product.java
@Entity
@Table(name="product")
public class Product {
@Id
private String id;
private String name;
private double price;
private int quantity;
private boolean status;
@JsonFormat(pattern ="", shape = JsonFormat.Shape.STRING)
@Column(name = "date_created")
private String dateCreated;
public String getId() {
return id;
}
//netal
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
public String getDateCreated() {
return dateCreated;
}
public void setDateCreated(String dateCreated) {
this.dateCreated = dateCreated;
}
}
文件 --> 产品控制器
@RestController
@RequestMapping("api/product")
public class ProductController {
@Autowired
private ProductServices productServices;
@RequestMapping(value = "findall", method = RequestMethod.GET,
produces = {MimeTypeUtils.APPLICATION_JSON_VALUE})
public ResponseEntity<Iterable<Product>> findAll(){
try {
return new ResponseEntity<Iterable<Product>>
(productServices.findAll(),HttpStatus.OK);
}catch (Exception e){
return new ResponseEntity<Iterable<Product>>(HttpStatus.BAD_REQUEST);
}
}
}
文件 --> ProductRepository
@Repository("ProductRepository")
public interface ProductRepository extends CrudRepository<Product,String> {
}
文件 --> 产品服务
public interface ProductServices {
public Iterable<Product> findAll();
public Product save(Product product);
}
文件 --> ProductServicesImpl
@Service("productServices")
public class ProductServicesImpl implements ProductServices {
@Autowired
private ProductRepository productRepository;
@Override
public Iterable<Product> findAll() {
return productRepository.findAll();
}
@Override
public Product save(Product product) {
return productRepository.save(product);
}
}
文件 --> DatemesApplication
@SpringBootApplication
public class DatemesApplication {
public static void main(String[] args) {
SpringApplication.run(DatemesApplication.class, args);
}
}
文件 --> 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>datemes</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>datemes</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.2.RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
解决方案
推荐阅读
- java - 每两个破折号的正则表达式并根据匹配更改字符串
- javascript - 如何访问作为函数参数的数组的长度?
- command - 是否有命令可以在 Stata 中获取最大的 5 个值和最小的 5 个值?
- ada - 如何获得整数的 10 对数?
- typescript - Apollo Server 如何提供其模式?
- sql - 在 BigQuery 中对 STRUCT 的 ARRAY 进行条件搜索
- javascript - Vuex 从状态加载现有表单数据以进行编辑
- rust - 使用 PEST 解析器的 PEG 语法的歧义
- reactjs - 状态钩子中的计数器不递增
- javascript - 选择选项时反应更新多个组件