Spring boot Spring引导REST API不返回Json数据

Spring boot Spring引导REST API不返回Json数据,spring-boot,api,Spring Boot,Api,我刚刚使用SpringBoot开始了我的第一个web应用程序,我为这个项目创建了第一个项目以及数据库。它用于返回包含产品所具有的封装数据的产品列表。当我离开它几天后回来时,查询api返回的不是产品本身,而是链接 所以当我打字的时候”http://localhost:8080/api/products/1在浏览器中,它将返回 它用来返回类似于 { "sku" : "BOOK-TECH-1000", "name" : "

我刚刚使用SpringBoot开始了我的第一个web应用程序,我为这个项目创建了第一个项目以及数据库。它用于返回包含产品所具有的封装数据的产品列表。当我离开它几天后回来时,查询api返回的不是产品本身,而是链接

所以当我打字的时候”http://localhost:8080/api/products/1在浏览器中,它将返回

它用来返回类似于

{
  "sku" : "BOOK-TECH-1000",
  "name" : "Crash Course in Python",
  "description" : "Learn Python at your own pace. The author explains how the technology works in easy-to-understand language. This book includes working examples that you can apply to your own projects. Purchase the book and get started today!",
  "unitPrice" : 14.99,
  "imageUrl" : "assets/images/products/books/book-1000.png",
  "active" : true,
  "unitsInStock" : 100,
  "dateCreated" : "2021-01-04T21:05:48.000+0000",
  "lastUpdated" : null,
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/products/1"
    },
    "product" : {
      "href" : "http://localhost:8080/api/products/1"
    },
    "category" : {
      "href" : "http://localhost:8080/api/products/1/category"
    }
  }
}
我不知道为什么数据信息不再返回,有什么建议吗

Product.java:

import lombok.Data;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

@Entity
@Table(name="product")
@Data
public class Product {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;

//join with Entity "ProductCategory". vise verse, many products to one product Category.
@ManyToOne
@JoinColumn(name = "category_id", nullable = false)
private ProductCategory category;

@Column(name = "sku")
private String sku;

@Column(name = "name")
private String name;

@Column(name = "description")
private String description;

@Column(name = "unit_price")
private BigDecimal unitPrice;

@Column(name = "image_url")
private String imageUrl;

@Column(name = "active")
private boolean active;

@Column(name = "units_in_stock")
private int unitsInStock;

@Column(name = "date_created")
@CreationTimestamp
private Date dateCreated;

@Column(name = "last_updated")
@UpdateTimestamp
private Date lastUpdated;
}
ProductRepository.java:

import com..Entity.Product;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.web.bind.annotation.CrossOrigin;

@CrossOrigin("http://localhost:4200")
public interface ProductRepository extends JpaRepository<Product,   Long> {
}
导入com..Entity.Product;
导入org.springframework.data.jpa.repository.JpaRepository;
导入org.springframework.web.bind.annotation.CrossOrigin;
@交叉原点(“http://localhost:4200")
公共接口ProductRepository扩展了JpaRepository{
}

由于龙目山不能工作,我面临着类似的情况。手动编写getter和setter应该可以工作。在我的例子中,为vs代码添加lombok扩展解决了问题。

在此处添加代码,而不是codeProductRepository.java包com.secureCoderX.ecommerce.Dao的图像;导入com.secureCoderX.ecommerce.Entity.Product;导入org.springframework.data.jpa.repository.JpaRepository;导入org.springframework.web.bind.annotation.CrossOrigin@CrossOrigin(“)公共接口ProductRepository扩展了JpaRepository{}是的,这对我来说非常有意义。我所做的只是导入项目并删除,然后重写整个DAO和实体类,然后它就工作了。我没有注意到Lombok是否工作,但我相信我和你有同样的感受。谢谢你提供的解释!