首页 > 解决方案 > 春天的意外路线名称

问题描述

我的 spring 应用程序上有 3 个控制器。他们每个人都有不同的名字然后我设置例如我有

@RestController
@RequestMapping("/operator")
public class OperativesController {

当在 localhost 上运行它并检查可用路由时,这是我的输出

{
  "_links" : {
    "operativeses" : {
        "href" : "http://localhost:8080/operativeses"
    }
  }
}

如果有人能告诉我这个名字来自哪里,我将不胜感激?

PS。昨天一切都很好。

不确定这是否对您有帮助,但您可以在下面找到我的properties

logging.level.org.hibernate=INFO
spring.jpa.show-sql=true
hibernate.dialect = org.hibernate.dialect.SQLServer2016Dialect
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.hibernate.ddl-auto=none

编辑 我只是调试了这个 spring 应用程序并发现,我的路径是从“实体”创建的。所以我有实体名称Operatives并弹簧将其作为 URL 拾取,因此它会自动创建路径operativeses(为什么?我不知道),因为我将此实体的名称更改为“Operativesasd”,结果我有路径“Operativesasds”(注意s 最后)

所以我现在的问题是,即使我有控制器,为什么我的 spring 应用程序会基于实体创建路径?

我的实体看起来像

@Entity
@Table(name="operatives", schema = "lm")
public class Operatives implements Serializable {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name = "id")
    private int id;
    @Column(name = "name", length=150)
    private String name;
    @Column(name = "level", length=7)
    private String level;
    @Column(name="is_qa", length=50)
    private String isQa;
    @Column(name="is_active", length=5)
    private String isActive;
    @Column(name="is_admin", length=50)
    private String isAdmin;

    
    public Operatives() {
        super();
    }

    
    public int getId() {
        return id;
    }

    
    public void setId(int aId) {
        id = aId;
    }

    
    public String getName() {
        return name;
    }

    
    public void setName(String aName) {
        name = aName;
    }

    
    public String getLevel() {
        return level;
    }

    
    public void setLevel(String aLevel) {
        level = aLevel;
    }
    
    public String getIsQa() {
        return isQa;
    }

    
    public void setIsQa(String aIsQa) {
        isQa = aIsQa;
    }

    
    public String getIsActive() {
        return isActive;
    }

    
    public void setIsActive(String aIsActive) {
        isActive = aIsActive;
    }

    
    public String getIsAdmin() {
        return isAdmin;
    }

    
    public void setIsAdmin(String aIsAdmin) {
        isAdmin = aIsAdmin;
    }
}

标签: javaspringrestcontroller

解决方案


推荐阅读