JPA Repository和Spring-data-rest baseURi是/ profile

时间:2017-08-13 21:43:55

标签: spring-data-jpa spring-data-rest

刚刚学习springboot(以及java的新东西:来自.NET世界)

关于spring-data和spring-data-rest的PS课程。一切顺利

与MS SQlServer建立测试项目连接。为FindAll创建了一些JPA Repos和单元测试传递

我没有在app属性中设置base-uri,当探索其余界面时(使用Postman),所有内容都显示在/ profile下。

{
    "_links": {
        "self": {
            "href": "http://localhost:8080/profile"
        },
        "users": {
            "href": "http://localhost:8080/profile/users"
        },
        "tasks": {
            "href": "http://localhost:8080/profile/tasks"
        }
    }
}

第一个问题是,/ profile来自哪里?

1 个答案:

答案 0 :(得分:3)

它不是基本路径(网址)。它是normal work of SDR

  

如果你导航到localhost:8080 / profile的个人资料链接,你会看到如下内容:

{
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/profile"
    },
    "persons" : {
      "href" : "http://localhost:8080/profile/persons"
    },
    "addresses" : {
      "href" : "http://localhost:8080/profile/addresses"
    }
  }
}

要使用您的实体,您必须使用以下链接:

http://localhost:8080/users
http://localhost:8080/tasks

顺便说一句,你可以设置基本路径'在three ways中:

  1. 在' application.properties`
  2. spring.data.rest.basePath=/api

    1. 注册bean
    2. @Bean
      public RepositoryRestConfigurer repositoryRestConfigurer() {
      
        return new RepositoryRestConfigurerAdapter() {
      
          @Override
          public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
            config.setBasePath("/api");
          }
        };
      }
      
      1. 使用RepositoryRestConfigurer
      2. 的自定义实现
        @Component
        public class CustomizedRestMvcConfiguration extends RepositoryRestConfigurerAdapter {
        
          @Override
          public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
            config.setBasePath("/api");
          }
        }