首页 > 解决方案 > 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>

标签: javaspring-bootdatetimejpaspring-data-jpa

解决方案


推荐阅读