programing

Spring Boot @RepositoryRestResource를 특정 URL에 매핑하려면 어떻게 해야 합니까?

goodsources 2023. 7. 25. 20:54
반응형

Spring Boot @RepositoryRestResource를 특정 URL에 매핑하려면 어떻게 해야 합니까?

다음 위치 이외에는 리포지토리를 매핑할 수 없는 것 같습니다.

@RepositoryRestResource(collectionResourceRel = "item", path = "item")
public interface ItemRepository extends PagingAndSortingRepository<Item, Long> {

저는 제가 사용할 수 있다고 생각했습니다.

 path = "/some/other/path/item"

하지만 매핑이 해결되지 않습니다.이해합니다.

HTTP ERROR 404

Problem accessing /some/other/path/item. Reason:

Not Found

스프링 데이터 javadoc에서path정의: " 리소스를 내보낼 경로 세그먼트"입니다.

내가 뭘 잘못하고 있는 거지?

기본 URI를 변경하려면 이를 application.properties에 추가하면 됩니다.

spring.data.rest.base-path=/my/base/uri

확장이 필요합니다.RepositoryRestMvcConfiguration그리고 그것을 무시합니다.configureRepositoryRestConfiguration(RepositoryRestConfiguration config)당신의 것을 설정하기 위해baseUri.예.

@Configuration
public class MyRepositoryRestMvcConfiguration extends RepositoryRestMvcConfiguration {

    private static final String MY_BASE_URI_URI = "/my/base/uri";

    @Override
    protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
        super.configureRepositoryRestConfiguration(config);
        config.setBaseUri(URI.create(MY_BASE_URI_URI));
    }
}

올바른 응용 프로그램 속성은 다음과 같습니다.spring.data.rest.base-path=/my/base/path (base-path대신에base-uri)

봄 부츠 2

@Configuration
public class RepositoryConfiguration extends RepositoryRestConfigurerAdapter
{

   @Override
   public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config)
   {
      config.setBasePath("/my/base/uri");
   }
}

경로 특성은 경로 세그먼트(슬래시 없음)를 지정하는 데 사용되는 것 같습니다."/some/other/path"는 서블릿 경로 또는 컨텍스트 경로여야 합니다(즉, Spring Data와 관련 없음).

언급URL : https://stackoverflow.com/questions/24577400/how-can-i-map-a-spring-boot-repositoryrestresource-to-a-specific-url

반응형