当前位置: 首页 > 知识库问答 >
问题:

Spring靴架

濮阳浩穰
2023-03-14

我正在练习使用spring boot来处理restful应用程序

我已经设置了@RestController和@Entity这样

@RestController
@RequestMapping(value = "/api")
public class RestControllerCar {
    

    @Autowired
    private CarRepository carRepository;

    @RequestMapping(value = "/cars")
    public Iterable<Car> getCars() {
        return carRepository.findAll();
    }
}

@Entity
public class Car {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String brand, model, color, registerNumber;
    private Integer year, price;
    
    @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
    @ManyToMany(mappedBy = "cars")
    private Set<Owner> owners;

    public Car() {
    }

    public Car(String brand, String model, String color, String registerNumber, Integer year, Integer price) {
        super();
        this.brand = brand;
        this.model = model;
        this.color = color;
        this.registerNumber = registerNumber;
        this.year = year;
        this.price = price;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getRegisterNumber() {
        return registerNumber;
    }

    public void setRegisterNumber(String registerNumber) {
        this.registerNumber = registerNumber;
    }

    public Integer getYear() {
        return year;
    }

    public void setYear(Integer year) {
        this.year = year;
    }

    public Integer getPrice() {
        return price;
    }

    public void setPrice(Integer price) {
        this.price = price;
    }

    public Set<Owner> getOwner() {
        return owners;
    }

    public void setOwner(Set<Owner> owners) {
        this.owners = owners;
    }

当我用邮递员http://localhost:8080/cardatabase/api/cars我有一张汽车清单

但即使我去http://localhost:8081/cardatabase/cars,顶部嵌入

正常吗?

谢谢

共有1个答案

桓风史
2023-03-14

您的存储库是否标注了@RestRepository?嵌入的_让我想到@RestRepository为数组提供的那种输出。

@RestRepository自动创建所有endpoint。正如@M.Deinum所指出的,对于数据rest启动器,如果您删除它,您只有您的控制器,而不是@RestRepository生成的控制器。

这里有两个主要选择:

  1. 您不需要对存储库进行注释。只是一个实现JpaRepository的接口

或者,你可以在你的项目上安装swagger2,所以,在浏览器上访问文档,你会看到所有可用的endpoint,它可能对你来说更清楚。使用swagger,你还会看到endpoint的返回类型、参数等... Swagger非常容易在项目中安装和使用。(依赖关系,一个注释,很好...用于基本用法)。

 类似资料:
  • 我正在用Thymeleaf构建一个Spring Boot应用程序。我的模板(视图)和静态文件夹都在src/main/Resources/静态和src/main/Resources/tem板下。当我通过main方法(使用eclipse)运行应用程序时,一切都很好。但是,我已经按照说明创建了一个war文件,当我将其部署到Tomcat 7时——静态内容丢失了,只显示了Thymeleaf html模板。

  • 作为一个新的Web应用程序项目的一部分,我计划学习Spring。我开始通读Spring框架参考。当我在谷歌上搜索时,我遇到了Spring boot。我所理解的是,Spring boot通过减少配置帮助构建应用程序的速度比Spring快得多。现在我有点困惑,我应该继续学习Spring还是跳转到Spring boot。我的目的是了解Spring作为一个框架是如何工作的,而不是一些特性。所以请让我知道,

  • 我正在使用Spring boot 2.0.2应用程序通过HTTPS对外部api进行REST api调用。 我是TLS和SSL的新手。我的理解是,TLS是一种更安全的方式,用于传输安全的敏感数据。 我的问题是: 如何确定我的应用程序使用的TLS版本

  • 我有两个项目。我用Angular2 cli构建的Angular2应用程序和只为Angular2应用程序服务的Spring Boot应用程序。我用构建Angular2应用程序,它会生成一个文件夹。然后,我将文件夹的内容放在Spring Boot应用程序的中。 我的Spring启动应用程序有两个文件。 Spring Boot应用程序类: 及其应用。属性文件: 它工作得很好,但是如果我转到一个url并点

  • 我在下面的链接中添加了过滤器作为问题的答案 Spring Boot Data Rest+CORS不能正确启用选项/删除

  • 我试图在spring boot应用程序中作为servlet容器运行undertow,我遵循了所有关于它的说明,但从日志来看,tomcat似乎是web服务器。 以下是日志: 21-03-17 00:15:45.481INFO[,][restartedMain]o.s.b.w.embedded.tomcat.TomcatWebServer:Tomcat初始化端口:8080(超文本传输协议) 2021-